python - 每次打开/关闭文件与保持打开直到过程完成更好吗?

标签 python file-io

我有一个大小约为 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/

相关文章:

python - 使用 mplayer 播放视频

Python从子模块导入子模块

python - 在 Django 应用程序中启动线程时出现奇怪的错误

Java Swing 将文件读取到文本字段

python - Raspi太阳能监控项目,更新mysql数据库

python - 测量python中击键之间的时间

ios - 使用 DocumentPicker 选择多个文件 - iOS

c - 特殊字符读取错误 - 文件 I/0

c - 在 C 中分割从文件读取的字符串很困难

c - 如何从文本文件中读取数据