在Python 中連接文字檔案:一種優雅的方法
在處理多個文字檔案時,通常需要將它們連接成一個單一的文件文件。雖然手動逐行開啟和讀取每個檔案是一個可行的選擇,但它缺乏優雅和效率。
最佳化的解決方案
幸運的是,Python 提供了一個優雅且高效的解決方案連接文字檔案的解決方案。這是一個簡單而有效的方法:
filenames = ['file1.txt', 'file2.txt', ...] with open('path/to/output/file', 'w') as outfile: for fname in filenames: with open(fname) as infile: outfile.write(infile.read())
這種方法的好處
附加說明
對於非常大的文件,逐行連接它們而不是讀取可能會更有效整個內容進入記憶體。對於這種情況,有一種替代方法:
with open('path/to/output/file', 'w') as outfile: for fname in filenames: with open(fname) as infile: for line in infile: outfile.write(line)
此方法速度較慢,但需要較小的記憶體佔用。
另一個有趣的方法是使用itertools.chain.from_iterable() 函數迭代所有檔案中的所有行:
filenames = ['file1.txt', 'file2.txt', ...] with open('path/to/output/file', 'w') as outfile: for line in itertools.chain.from_iterable(itertools.imap(open, filnames)): outfile.write(line)
雖然此方法具有更簡潔的優點,但它保持開放垃圾收集器必須處理的檔案描述符。
總而言之,第一種方法通常是連接文字檔案最有效、最優雅的解決方案,而替代方案可能更適合特定場景。
以上是如何在Python中有效率地連接多個文字檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!