如何进行原子文件替换? [复制]
Posted
技术标签:
【中文标题】如何进行原子文件替换? [复制]【英文标题】:How to do atomic file replacement? [duplicate] 【发布时间】:2011-11-30 12:20:32 【问题描述】:在 Python 中以原子方式替换文件的推荐方法是什么?
即如果 Python 脚本被中断、断电等。文件最终处于不一致状态(一半写入磁盘)的可能性不大。
Linux/UNIX 平台的解决方案是首选。
(我知道获得 100% 的原子操作可能取决于您的文件系统,但至少可以降低损坏的可能性。)
【问题讨论】:
答案可能涉及创建临时文件(在同一分区上)并删除现有目标 【参考方案1】:创建一个新文件并 os.rename() 覆盖现有文件。这是most platforms most conditions 下的原子操作。
【讨论】:
os.replace()
在大多数情况下在所有平台上都是原子的。以上是关于如何进行原子文件替换? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
Amazon RedShift 中的“复制”命令是不是是原子的?