This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author diegoe
Recipients diegoe, docs@python
Date 2021-03-17.04:04:54
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1615953895.06.0.527756201685.issue43525@roundup.psfhosted.org>
In-reply-to
Content
In the '/' operator documentation for `pathlib`, the behavior for anchored paths is not described:

https://docs.python.org/3/library/pathlib.html#operators

The behavior (prefer the second/right-hand root/anchor) is only explained in the `PurePath` class:

https://docs.python.org/3/library/pathlib.html#pathlib.PurePath

I ran into this while helping migrate a code base that was using "naive" concatenation of strings, so this:

```
PROJECT_DIR = ROOT_DIR + "/project-name"
```

was migrated to:
```
PROJECT_DIR = ROOT_DIR / "/project-name"
```

Note that, of course, we missed the leading "/".

Although the docs _do_ describe the behavior somewhere else, I believe it's worth being redundant in the operator section.

I believe it's a reasonable mistake to warn new users against, specially since "naive" concatenation is a common "ugly" pattern that many would be migrating from. Plus, a leading "/" is easy to miss, which would only compound the confusion if you are seeing your path "omit the (left-hand) Path object" (because the anchored string took precedence).
History
Date User Action Args
2021-03-17 04:04:55diegoesetrecipients: + diegoe, docs@python
2021-03-17 04:04:55diegoesetmessageid: <1615953895.06.0.527756201685.issue43525@roundup.psfhosted.org>
2021-03-17 04:04:54diegoelinkissue43525 messages
2021-03-17 04:04:54diegoecreate