5

在 Python 中编写文件的“最安全”方法是什么?我听说过原子文件写入,但我不确定如何去做以及如何处理它。

4

3 回答 3

6

您想要的是原子文件替换,以便磁盘上永远不会有未完成的最终文件。目标位置仅存在完整的新版本或完整的旧版本。

Python的方法在这里描述:

Python中的原子文件替换

于 2012-10-16T20:39:51.107 回答
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
于 2021-02-03T19:53:53.437 回答
-1
with open("path", "w") as f:
    f.write("Hello, World")

with-Statement 的使用保证了文件被关闭,无论发生什么(好吧,它等于 try .. finally)。

于 2012-10-16T20:33:25.723 回答