mirror of https://github.com/python/cpython
GH-113225: Speed up `pathlib.Path.glob()` (#113226)
Use `os.DirEntry.path` as the string representation of child paths, unless the parent path is empty, in which case we use the entry `name`.
This commit is contained in:
parent
4681a5271a
commit
c2e8298eba
|
@ -301,7 +301,13 @@ class Path(_abc.PathBase, PurePath):
|
|||
|
||||
def _make_child_entry(self, entry):
|
||||
# Transform an entry yielded from _scandir() into a path object.
|
||||
return self._make_child_relpath(entry.name)
|
||||
path_str = entry.name if str(self) == '.' else entry.path
|
||||
path = self.with_segments(path_str)
|
||||
path._str = path_str
|
||||
path._drv = self.drive
|
||||
path._root = self.root
|
||||
path._tail_cached = self._tail + [entry.name]
|
||||
return path
|
||||
|
||||
def absolute(self):
|
||||
"""Return an absolute version of this path
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Speed up :meth:`pathlib.Path.glob` by using :attr:`os.DirEntry.path` where possible.
|
Loading…
Reference in New Issue