[Python-Dev] best place for an atomic file API (original) (raw)

Victor Stinner victor.stinner at gmail.com
Thu Feb 16 10:54:34 CET 2012


Most users don't need a truly ACID write, but implement their own best-effort function. Instead of having a different implement in each project, Python can provide something better, especially when the OS provides low level function to implement such feature.

Victor

2012/2/16 "Martin v. Löwis" <martin at v.loewis.de>:

I'm not so sure that "atomic writes" is a useful concept. I haven't seen a proposed implementation, yet, but I'm doubtful that truly ACID writes are possible unless the operating system supports transactions (which only Windows 7 does). Even if you are ignoring Isolation, Atomic already is a challenge: if you first write to a tempfile, then rename it, you may end up with a state tempfile (e.g. if the process is killed), and no rollback operation.

So "atomic write" to me promises something that it likely can't deliver. OTOH, I still think that the promise isn't actually asked for in practice (not even when overwriting bytecode files)



More information about the Python-Dev mailing list