Message 106599 - Python tracker (original) (raw)
A first implementation can be:
if os.name in ('nt', 'ce'): def atomic_rename(a, b): if os.path.exists(b): unlink(b) rename(a, b) else: atomic_rename = os.rename
This implementation is atomic on POSIX, and not atomic on Windows. Tell me if I am wrong.
It can be improved later by adding the support of better Windows functions.