mirror of
https://github.com/python/cpython
synced 2026-09-29 12:10:30 +03:00
GH-110109: Add pathlib._PurePathBase (#110670)
Add private `pathlib._PurePathBase` class: a private superclass of both `PurePath` and `_PathBase`. Unlike `PurePath`, it does not define any of these special methods: `__fspath__`, `__bytes__`, `__reduce__`, `__hash__`, `__eq__`, `__lt__`, `__le__`, `__gt__`, `__ge__`. Its initializer and path joining methods accept only strings, not os.PathLike objects more broadly. This is important for supporting *virtual paths*: user subclasses of `_PathBase` that provide access to archive files, FTP servers, etc. In these classes, the above methods should be implemented by users only as appropriate, with due consideration for the hash/equality of any backing objects, such as file objects or sockets.
This commit is contained in:
parent
5a0137ca34
commit
76929fdeeb
3 changed files with 115 additions and 53 deletions
|
|
@ -0,0 +1,3 @@
|
|||
Add private ``pathlib._PurePathBase`` class: a base class for
|
||||
:class:`pathlib.PurePath` that omits certain magic methods. It may be made
|
||||
public (along with ``_PathBase``) in future.
|
||||
Loading…
Add table
Add a link
Reference in a new issue