How to do atomic file replacement?
What's the recommended way to replace a file atomically in Python?
i.e. if the Python script is interrupted, there is a power outage etc. files 开发者_运维技巧do not have a high probability of ending up in an inconsistent state (half written to the disk).
A solution for Linux/UNIX platforms is preferred.
(I know getting 100% atomic operations might depend on your file system, but at least make the chances for the corruption low.)
Create a new file and os.rename() it over the existing file. This is atomic on most platforms under most conditions.
精彩评论