如果我必须在脚本中多次处理文件。基本上,如果我需要在脚本的开头读取它,并在最后编写它。做得更好:
f = open("myfile", "r")
lines = f.readlines()
f.close()
# ...
# Edit some lines
# ...
f = open("myfile", "w")
f.write(lines)
f.close()
或者:
f = open("myfile", "r+")
lines = f.readlines()
# ...
# Edit some lines
# ...
f.seek(0)
f.truncate()
f.write(lines)
f.close()
更好的"我的意思是"更安全"。我认为如果在文件仍然打开的情况下停止进程,这两个脚本都有安全漏洞,但这在前一个脚本中发生的可能性较小。
我认为语言不重要,但我主要使用Python。
答案 0 :(得分:0)
通常只需要open
和close
一个文件。主要原因是表现。
如果你担心“安全性”,你会提到脚本的意外结束,我称之为“稳定性问题”,然后每次写入脚本时flush
脚本,但不要关闭脚本。然后,如果您的脚本退出,写入的内容仍然是安全的,文件只是在清理期间关闭。
该策略的一个优点还在于您必须只检查一次访问和打开脚本的成功,而不必通过脚本一次又一次地执行所有操作。
答案 1 :(得分:0)
暂时搁置所有其他因素,例如
检查时间与临时文件的使用时间
等等
如果你想在两个之间取消偏好 打开文件一次或多次打开文件进行操作。
我的选择只会打开一次文件。打开文件的次数越多,确保安全检查的时间就越长。