>>> from pathlib import Path
>>> Path("source").symlink_to("target1")
>>> Path("source").symlink_to("target2")
Traceback (most recent call last):
File "<python-input-2>", line 1, in <module>
Path("source").symlink_to("target2")
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
File "/usr/lib/python3.13/pathlib/_local.py", line 789, in symlink_to
os.symlink(target, self, target_is_directory)
~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileExistsError: [Errno 17] File exists: 'target2' -> 'source'
Documentation
The documentation for
Path.symlink_to()[1] does not mention what happens when the source already exists, e.g.:(The same applies to
os.symlink[2] by the way)Linked PRs