bpo-31163: Added return values to pathlib.Path instance's rename and replace methods. (GH-13582) (GH-15944)
* bpo-31163: Added return values to pathlib.Path instance's rename and replace methods.
(cherry picked from commit 088a09af4bdeff52b9dedeb7acd1e82069f37d98)
Co-authored-by: hui shang <shangdahao@gmail.com>
diff --git a/Lib/pathlib.py b/Lib/pathlib.py
index 6355ae8..91ce4a1 100644
--- a/Lib/pathlib.py
+++ b/Lib/pathlib.py
@@ -1332,20 +1332,24 @@
def rename(self, target):
"""
- Rename this path to the given path.
+ Rename this path to the given path,
+ and return a new Path instance pointing to the given path.
"""
if self._closed:
self._raise_closed()
self._accessor.rename(self, target)
+ return self.__class__(target)
def replace(self, target):
"""
Rename this path to the given path, clobbering the existing
- destination if it exists.
+ destination if it exists, and return a new Path instance
+ pointing to the given path.
"""
if self._closed:
self._raise_closed()
self._accessor.replace(self, target)
+ return self.__class__(target)
def symlink_to(self, target, target_is_directory=False):
"""