用Python编写文件的“最安全”方法是什么?我听说过原子文件写作,但我不知道该怎么做以及如何处理它。
答案 0 :(得分:6)
您想要的是原子文件替换,以便磁盘上永远不会有未完成的最终文件。目标位置上只存在完整的新版本或完整的旧版本。
这里描述了Python的方法:
答案 1 :(得分:1)
您可以写入临时文件并重命名它,但是正确执行此操作有很多问题。我更喜欢使用这个不错的库 Atomic Writes。
安装:
pip install atomicwrites==1.4.0 #check if there is a newer version
然后将其用作上下文:
from atomicwrites import atomic_write
with atomic_write('foo.txt', overwrite=True) as f:
f.write('Hello world.')
# "foo.txt" doesn't exist yet will be created when closing context
答案 2 :(得分:0)
with open("path", "w") as f:
f.write("Hello, World")
使用with-Statement可以保证文件被关闭,无论发生什么(最后它等于尝试...)。