如何进行原子文件替换?

12 投票
1 回答
6729 浏览
提问于 2025-04-17 03:38

在Python中,替换文件的推荐方法是什么?

也就是说,如果Python脚本被中断,比如说突然断电等情况,文件就不太可能处于不一致的状态(比如说只写了一半到磁盘上)。

最好是针对Linux/UNIX平台的解决方案。

(我知道实现100%原子操作可能取决于你的文件系统,但至少要尽量降低文件损坏的可能性。)

1 个回答

18

创建一个新文件,然后用 os.rename() 把它替换掉已有的文件。在大多数平台上,这个操作是原子的,也就是说要么完全成功,要么完全不做,通常在大多数情况下都是这样。

撰写回答