Document behavior of Path.symlink_to() when source already exists
Open
Nobody has claimed this yet.
docs
topic-pathlib
- Dominant language
- Python
- Stars
- 77.2k
- Forks
- 35.9k
- PR merge metrics
- PR metrics pending
Description
Documentation
The documentation for Path.symlink_to() [1] does not mention what happens when the source already exists, e.g.:
>>> 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'
(The same applies to os.symlink [2] by the way)
Linked PRs
- gh-132704
- gh-132810
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the pathlib.Path.symlink_to() documentation linked in the issue, then compare the os.symlink() documentation for the same behavior. Done means both entries explain what happens when the destination path already exists, including the FileExistsError example shown here.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 25/100