[Python-ideas] Add create mode to open()
M.-A. Lemburg
mal at egenix.com
Wed Aug 17 11:52:03 CEST 2011
Antoine Pitrou wrote:
> On Wed, 17 Aug 2011 14:11:32 +1000
> Nick Coghlan <ncoghlan at gmail.com> wrote:
>> On Wed, Aug 17, 2011 at 1:43 PM, Devin Jeanpierre
>> <jeanpierreda at gmail.com> wrote:
>>> I'd also point out that for those that don't want race conditions,
>>> Python is discouraging. The correct incantation involves two
>>> undocumented constants, plus a unique and rarely used way of opening
>>> files that involves unix file descriptors.
>>
>> FWIW, when you control the filename, you can include an additional
>> subdirectory precisely for the exception when a second process
>> attempts to create the same subdirectory.
>
> How do you create a directory and a file atomically?
On Windows, directories are created atomically. On Unix,
too, but symlinks are faster. You can use those to implement
cooperative file locks in a fairly cross-platform way.
See e.g. mx.Misc.FileLock in
http://www.egenix.com/products/python/mxBase/
--
Marc-Andre Lemburg
eGenix.com
Professional Python Services directly from the Source (#1, Aug 17 2011)
>>> Python/Zope Consulting and Support ... http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
________________________________________________________________________
2011-10-04: PyCon DE 2011, Leipzig, Germany 48 days to go
::: Try our new mxODBC.Connect Python Database Interface for free ! ::::
eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48
D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
Registered at Amtsgericht Duesseldorf: HRB 46611
http://www.egenix.com/company/contact/
More information about the Python-ideas
mailing list