]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-40833: Clarify Path.rename doc-string regarding relative paths (GH-20554)
authorMiss Skeleton (bot) <31488909+miss-islington@users.noreply.github.com>
Sat, 3 Oct 2020 10:11:39 +0000 (03:11 -0700)
committerGitHub <noreply@github.com>
Sat, 3 Oct 2020 10:11:39 +0000 (03:11 -0700)
(cherry picked from commit f97e42ef4d97dee64f45ed65170a6e77c8e46fdf)

Co-authored-by: Ram Rachum <ram@rachum.com>
Doc/library/pathlib.rst
Lib/pathlib.py

index c855a6e11dac1f758136e25b1d4a512acf80072b..4518f56004929ca6c58c6ec8be0813e4b588df6e 100644 (file)
@@ -954,6 +954,10 @@ call fails (for example because the path doesn't exist).
       >>> target.open().read()
       'some text'
 
+   The target path may be absolute or relative. Relative paths are interpreted
+   relative to the current working directory, *not* the directory of the Path
+   object.
+
    .. versionchanged:: 3.8
       Added return value, return the new Path instance.
 
@@ -964,6 +968,10 @@ call fails (for example because the path doesn't exist).
    instance pointing to *target*.  If *target* points to an existing file or
    directory, it will be unconditionally replaced.
 
+   The target path may be absolute or relative. Relative paths are interpreted
+   relative to the current working directory, *not* the directory of the Path
+   object.
+
    .. versionchanged:: 3.8
       Added return value, return the new Path instance.
 
index 4f72bab3bdbbc55766c53a76ec199bf9805f07e7..171d8b825210697fb1cffb7392806235fc41021d 100644 (file)
@@ -1353,8 +1353,13 @@ class Path(PurePath):
 
     def rename(self, target):
         """
-        Rename this path to the given path,
-        and return a new Path instance pointing to the given path.
+        Rename this path to the target path.
+
+        The target path may be absolute or relative. Relative paths are
+        interpreted relative to the current working directory, *not* the
+        directory of the Path object.
+
+        Returns the new Path instance pointing to the target path.
         """
         if self._closed:
             self._raise_closed()
@@ -1363,9 +1368,13 @@ class Path(PurePath):
 
     def replace(self, target):
         """
-        Rename this path to the given path, clobbering the existing
-        destination if it exists, and return a new Path instance
-        pointing to the given path.
+        Rename this path to the target path, overwriting if that path exists.
+
+        The target path may be absolute or relative. Relative paths are
+        interpreted relative to the current working directory, *not* the
+        directory of the Path object.
+
+        Returns the new Path instance pointing to the target path.
         """
         if self._closed:
             self._raise_closed()