我有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