我有一个大小约为 50 GB 的文本文件,我正在检查每行的前几个字符并将这些字符写入为该开头文本指定的其他文件。
例如,我的输入包含:
cow_ilovecow
dog_whreismydog
cat_thatcatshouldgotoreddit
dog_gotitfromshelter
...............
我想在牛、狗、猫等(大约200个)类别中处理它们,
if writeflag==1:
writefile1=open(writefile,"a") #writefile is somedir/dog.txt....
writefile1.write(remline+"\n")
#writefile1.close()
最好的方法是什么,我应该关闭文件吗?否则,如果我保持打开状态,writefile1=open(writefile,"a")
做对了吗?
最佳答案
您绝对应该尝试尽可能少地打开/关闭文件
因为即使与文件读/写相比,文件打开/关闭的成本也要高得多
考虑两个代码块:
f=open('test1.txt', 'w')
for i in range(1000):
f.write('\n')
f.close()
和
for i in range(1000):
f=open('test2.txt', 'a')
f.write('\n')
f.close()
第一个耗时 0.025s 而第二个耗时 0.309s
关于python - 每次打开/关闭文件与保持打开直到过程完成更好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11349020/