Message381844
The below snippet results in the symlink "/home" resolving as expected. However, documentation at https://docs.python.org/3.7/library/pathlib.html#pathlib.Path.resolve suggests, "If strict is False, the path is resolved as far as possible and any remainder is appended without checking whether it exists."
>>> from pathlib import Path
>>> host_path_str = "/home/somewhere/there/../nowhere"
>>> host_path = Path(host_path_str)
>>> host_path
PosixPath('/home/somewhere/there/../nowhere')
>>> host_path.resolve()
PosixPath('/System/Volumes/Data/home/somewhere/nowhere')
Expected results (based on the wording above):
>>> host_path.resolve()
PosixPath('/System/Volumes/Data/home/somewhere/there/../nowhere')
Right now the ".." pieces are universally removed. I'm not exactly sure exactly how symlinks resolve, but this might create unexpected results.
No part of the path component "somewhere/there/../nowhere" exists. When strict=True this would yield an error. So when strict=False, and it doesn't resolve, documentation implies that would be re-added to the resolved section. |
|
Date |
User |
Action |
Args |
2020-11-25 16:07:29 | john.engelke | set | recipients:
+ john.engelke |
2020-11-25 16:07:29 | john.engelke | set | messageid: <1606320449.29.0.994355220822.issue42464@roundup.psfhosted.org> |
2020-11-25 16:07:29 | john.engelke | link | issue42464 messages |
2020-11-25 16:07:28 | john.engelke | create | |
|