[Python-Dev] Warn about mktemp once again?
Giovanni Bajo
rasky at develer.com
Tue Apr 29 15:34:24 CEST 2008
On 4/29/2008 2:18 PM, Nick Coghlan wrote:
>>>> Same here. In fact, is there a good reason to have mkstemp() return the
>>> > fd (except backward compatibility)?
>>>
>>> Except for backwards compatibility: is there a good reason to keep
>>> os.mkstemp at all?
>>
>> Greg Ewing's use-case is one I've also had at times - ie. as a
>> convenience function for creating a "somewhat temporary" file that is
>> randomly named, but persists beyond the closing of the file. If the
>> function doesn't stay in os it doesn't make any difference to me
>> though :-)
>
> As of 2.6, Greg's use case is addressed by the new 'delete' parameter on
> tempfile.NamedTemporaryFile.
Then I personally don't have any objection to the removal of os.mkstemp.
Since we're at it, a common pattern I use is to create temporary file to
atomically replace files: I create a named temporary file in the same
directory of the file I want to replace; write data into it; close it;
and move it (POSIX "move": rename with silent overwrite) to the
destination file. AFAIK, this is allows an atomic file replacemente on
most filesystems.
I believe this is a common useful pattern that could be handled in
module tmpfile (especially since the final "rename" step requires a
little care to be truly multiplatform).
--
Giovanni Bajo
Develer S.r.l.
http://www.develer.com
More information about the Python-Dev
mailing list