Charles-François Natali <neolo...@free.fr> added the comment: > I prefer to write a "best-effort" function
I disagree. People who explicitely use an atomic file API want atomicity/persistency, otherwise they wouldn't use it. Exposing a function that may, or may not, be atomic is just plain wrong. IMHO, the right thing to do on OSes that don't provide atomic rename (and I doubt there are many of them, see below) is to raise an exception, so that the user can fall back to whatever he thinks is best (bail out, rollback, etc). > and so I consider that shutil is the best place for such function. As noted by Jean-Paul, shutil stands for "shell utils": that would be a rather poor choice: atomicfile fits in shutil as much as tempfile would :-) > Some OS don't provide atomic rename. Which one? See Antoine's message: http://bugs.python.org/issue8828#msg146274 Apparently, Windows >= XP does have an atomic rename(), and every POSIX compliant OS rename(2) should be atomic. > os.path is mostly about path manipulation functions I agree. I wish we had something like: io.file io.file.tempfile io.file.path io.file.atomicfile Thoughts? ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue8604> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com