[Python-ideas] shutil.symlink to allow non-race replacement of existing link targets

Antoine Pitrou solipsis at pitrou.net
Thu May 16 07:33:47 EDT 2019


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.

Regards

Antoine.




More information about the Python-ideas mailing list