19 lines
856 B
Plaintext
19 lines
856 B
Plaintext
It uses a temporary file in the same directory as the given path. This
|
|
ensures that the temporary file resides on the same filesystem.
|
|
|
|
The temporary file will then be atomically moved to the target
|
|
location: On POSIX, it will use rename if files should be overwritten,
|
|
otherwise a combination of link and unlink. On Windows, it uses
|
|
MoveFileEx through stdlib's ctypes with the appropriate flags.
|
|
|
|
Note that with link and unlink, there's a timewindow where the file
|
|
might be available under two entries in the filesystem: The name of
|
|
the temporary file, and the name of the target file.
|
|
|
|
Also note that the permissions of the target file may change this
|
|
way. In some situations a chmod can be issued without any concurrency
|
|
problems, but since that is not always the case, this library
|
|
doesn't do it by itself.
|
|
|
|
This is the Python 3 build of atomicwrites.
|