]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-87691: add an absolute path pathlib example in / operator docs (GH-100737)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Thu, 5 Jan 2023 23:04:39 +0000 (15:04 -0800)
committerGitHub <noreply@github.com>
Thu, 5 Jan 2023 23:04:39 +0000 (15:04 -0800)
The behaviour is fully explained a couple paragraphs above, but it may be useful to have a brief example to cover the behaviour.
(cherry picked from commit 1ae619c911ec8e096f83eeb7cc57fcd966950a3d)

Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
Automerge-Triggered-By: GH:hauntsaninja
Doc/library/pathlib.rst

index 843513c5fc54ab1c406cf15e9b2129c1f638c33b..8f0966fb7ca5f66f90017325b10f79157e3a3d46 100644 (file)
@@ -212,7 +212,10 @@ Paths of a different flavour compare unequal and cannot be ordered::
 Operators
 ^^^^^^^^^
 
-The slash operator helps create child paths, similarly to :func:`os.path.join`::
+The slash operator helps create child paths, mimicking the behaviour of
+:func:`os.path.join`. For instance, when several absolute paths are given, the
+last is taken as an anchor; for a Windows path, changing the local root doesn't
+discard the previous drive setting::
 
    >>> p = PurePath('/etc')
    >>> p
@@ -222,6 +225,10 @@ The slash operator helps create child paths, similarly to :func:`os.path.join`::
    >>> q = PurePath('bin')
    >>> '/usr' / q
    PurePosixPath('/usr/bin')
+   >>> p / '/an_absolute_path'
+   PurePosixPath('/an_absolute_path')
+   >>> PureWindowsPath('c:/Windows', '/Program Files')
+   PureWindowsPath('c:/Program Files')
 
 A path object can be used anywhere an object implementing :class:`os.PathLike`
 is accepted::