New submission from diegoe <die...@gnome.org>:

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).

----------
assignee: docs@python
components: Documentation
messages: 388904
nosy: diegoe, docs@python
priority: normal
severity: normal
status: open
title: pathlib: Highlight operator behavior with anchored paths
versions: Python 3.9

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue43525>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to