[Python-ideas] shutil.symlink to allow non-race replacement of existing link targets
Serhiy Storchaka
storchaka at gmail.com
Thu May 16 09:04:36 EDT 2019
16.05.19 14:33, Antoine Pitrou пише:
> On Thu, 16 May 2019 13:05:48 +0300
> Serhiy Storchaka <storchaka at gmail.com>
> wrote:
>> 16.05.19 11:28, Barry Scott пише:
>>> To replace one symlink with another atomically is possible by using rename() or renameat()
>>> something like:
>>>
>>> os.symlink( src, tmp_symlink )
>>> os.rename( tmp_symlink, dst )
>>
>> Somebody can replace tmp_symlink between os.symlink() and os.rename().
>
> Not if tmp_symlink is created in a directory with strict permissions, I
> guess.
But in such case we do not need complex games with a temporary symlink.
Just use os.symlink() and os.unlink() if needed.
More information about the Python-ideas
mailing list