summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorPetr Viktorin <encukou@gmail.com>2024-04-02 14:08:16 (GMT)
committerGitHub <noreply@github.com>2024-04-02 14:08:16 (GMT)
commite569f9132b5bdc1c103116a020e19e3ccc20cf34 (patch)
tree567707c724117132d2ade748babbaa416966eff7 /Doc
parent52f5b7f9e05fc4a25e385c046e0b091641674556 (diff)
downloadcpython-e569f9132b5bdc1c103116a020e19e3ccc20cf34.zip
cpython-e569f9132b5bdc1c103116a020e19e3ccc20cf34.tar.gz
cpython-e569f9132b5bdc1c103116a020e19e3ccc20cf34.tar.bz2
gh-117074: Update Traversable.joinpath docs to the 3.11+ protocol (GH-117113)
Diffstat (limited to 'Doc')
-rw-r--r--Doc/library/importlib.resources.abc.rst26
1 files changed, 24 insertions, 2 deletions
diff --git a/Doc/library/importlib.resources.abc.rst b/Doc/library/importlib.resources.abc.rst
index c508b6b..c25c485 100644
--- a/Doc/library/importlib.resources.abc.rst
+++ b/Doc/library/importlib.resources.abc.rst
@@ -109,13 +109,35 @@
Return True if self is a file.
- .. abstractmethod:: joinpath(child)
+ .. abstractmethod:: joinpath(*pathsegments)
- Return Traversable child in self.
+ Traverse directories according to *pathsegments* and return
+ the result as :class:`!Traversable`.
+
+ Each *pathsegments* argument may contain multiple names separated by
+ forward slashes (``/``, ``posixpath.sep`` ).
+ For example, the following are equivalent::
+
+ files.joinpath('subdir', 'subsuddir', 'file.txt')
+ files.joinpath('subdir/subsuddir/file.txt')
+
+ Note that some :class:`!Traversable` implementations
+ might not be updated to the latest version of the protocol.
+ For compatibility with such implementations, provide a single argument
+ without path separators to each call to ``joinpath``. For example::
+
+ files.joinpath('subdir').joinpath('subsubdir').joinpath('file.txt')
+
+ .. versionchanged:: 3.11
+
+ ``joinpath`` accepts multiple *pathsegments*, and these segments
+ may contain forward slashes as path separators.
+ Previously, only a single *child* argument was accepted.
.. abstractmethod:: __truediv__(child)
Return Traversable child in self.
+ Equivalent to ``joinpath(child)``.
.. abstractmethod:: open(mode='r', *args, **kwargs)