This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients eric.araujo, eric.smith, exarkun, giampaolo.rodola, meatballhat, milko.krachounov, neologix, olemis, pitrou, tarek, vstinner
Date 2011-12-21.19:15:08
SpamBayes Score 5.4918927e-09
Marked as misclassified No
Message-id <1324494909.65.0.099332420871.issue8604@psf.upfronthosting.co.za>
In-reply-to
Content
> I'm not sure about the best module to host this, though: os.path ?

Some OS don't provide atomic rename. If we only define a function when it is atomic (as we do in the posix module, only expose functions available on the OS), programs will have to write two versions of their function. I prefer to write a "best-effort" function, and so I consider that shutil is the best place for such function.

If this function requires a function specific to the OS, the specific function can be added to posix (or another module).

Example:

with shutil.write_file(filename) as f:
  f.write("I hope it will be atomic!")

We need an "atomic rename file" function to implement "atomic write file": see #8828.
History
Date User Action Args
2011-12-21 19:15:09vstinnersetrecipients: + vstinner, exarkun, pitrou, eric.smith, giampaolo.rodola, tarek, eric.araujo, olemis, meatballhat, milko.krachounov, neologix
2011-12-21 19:15:09vstinnersetmessageid: <1324494909.65.0.099332420871.issue8604@psf.upfronthosting.co.za>
2011-12-21 19:15:09vstinnerlinkissue8604 messages
2011-12-21 19:15:08vstinnercreate