[Python-checkins] bpo-39659: Route calls from pathlib.Path to os.getcwd() via the path accessor (GH-18834)

zooba webhook-mailer at python.org
Wed Apr 7 12:31:57 EDT 2021


https://github.com/python/cpython/commit/b05440c52b9814dbd47f679d47367e87855bd7b5
commit: b05440c52b9814dbd47f679d47367e87855bd7b5
branch: master
author: Barney Gale <barney.gale at gmail.com>
committer: zooba <steve.dower at microsoft.com>
date: 2021年04月07日T17:31:49+01:00
summary:
bpo-39659: Route calls from pathlib.Path to os.getcwd() via the path accessor (GH-18834)
files:
M Lib/pathlib.py
diff --git a/Lib/pathlib.py b/Lib/pathlib.py
index 6838feae8dbe4..9e682dcad9eac 100644
--- a/Lib/pathlib.py
+++ b/Lib/pathlib.py
@@ -187,7 +187,7 @@ def compile_pattern(self, pattern):
 def resolve(self, path, strict=False):
 s = str(path)
 if not s:
- return os.getcwd()
+ return path._accessor.getcwd()
 previous_s = None
 if _getfinalpathname is not None:
 if strict:
@@ -352,7 +352,7 @@ def _resolve(path, rest):
 return path
 # NOTE: according to POSIX, getcwd() cannot contain path components
 # which are symlinks.
- base = '' if path.is_absolute() else os.getcwd()
+ base = '' if path.is_absolute() else accessor.getcwd()
 return _resolve(base, str(path)) or sep
 
 def is_reserved(self, parts):
@@ -461,6 +461,8 @@ def group(self, path):
 except ImportError:
 raise NotImplementedError("Path.group() is unsupported on this system")
 
+ getcwd = os.getcwd
+
 
 _normal_accessor = _NormalAccessor()
 
@@ -1096,7 +1098,7 @@ def cwd(cls):
 """Return a new path pointing to the current working directory
 (as returned by os.getcwd()).
 """
- return cls(os.getcwd())
+ return cls(cls()._accessor.getcwd())
 
 @classmethod
 def home(cls):
@@ -1165,7 +1167,7 @@ def absolute(self):
 return self
 # FIXME this must defer to the specific flavour (and, under Windows,
 # use nt._getfullpathname())
- return self._from_parts([os.getcwd()] + self._parts)
+ return self._from_parts([self._accessor.getcwd()] + self._parts)
 
 def resolve(self, strict=False):
 """


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /