Message388904
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). |
|
Date |
User |
Action |
Args |
2021-03-17 04:04:55 | diegoe | set | recipients:
+ diegoe, docs@python |
2021-03-17 04:04:55 | diegoe | set | messageid: <1615953895.06.0.527756201685.issue43525@roundup.psfhosted.org> |
2021-03-17 04:04:54 | diegoe | link | issue43525 messages |
2021-03-17 04:04:54 | diegoe | create | |
|