我有20333個文件一起製作93M,每個文件可以在136b和956K之間加權。我需要閱讀這些製表符分隔的文件中的數據(* .tsv格式)閱讀一個大文件vs打開數千個文件
我正在考慮追加他們在一個文件中(以避免打開和關閉文件),而我從FTP服務器上下載。
打開和讀取我用下面的功能的任何文件:
def read_file(file_):
with open(file_) as f:
for line in f:
yield line.split("\t")
難道是提高性能的好主意嗎?
我想只要你的記憶可以讓你一次加載它們,這應該不成問題。當你正在運行的程序由於更大的文件大小以及你在程序中使用文件內容所做的一切時,它只會開始提出問題 – hallole
在這種情況下文件大小無關緊要,因爲你從未讀過整個文件。遍歷文件的內存效率高,速度快,不會導致內存問題。 – miindlek
做的「正義」18M是指所有文件的總大小一起還是指每個文件的大小?如果這些文件總共爲18M,我會在下載它們時將它們附加在一起。這似乎更容易... – WWhisperer