如何进行原子文件替换?

问题描述 投票:0回答:1

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

即如果Python脚本被中断、断电等,文件不太可能最终处于不一致状态(一半写入磁盘)。

Linux/UNIX 平台的解决方案是首选。

(我知道获得 100% 原子操作可能取决于您的文件系统,但至少可以降低损坏的可能性。)

python filesystems rename atomic fwrite
1个回答
17
投票

创建一个新文件并使用 os.rename() 覆盖现有文件。在大多数条件下,这在大多数平台上是原子的。

更新:os.rename() 在 Windows 上抛出 FileExistsError (python 3.12)

© www.soinside.com 2019 - 2024. All rights reserved.