mirror of
https://github.com/python/cpython.git
synced 2025-07-23 11:15:24 +00:00
GH-113528: Deoptimise pathlib._abc.PurePathBase.parts
(#113883)
Implement `parts` using `_stack`, which itself calls `pathmod.split()` repeatedly. This avoids use of `_tail`, which will be moved to `PurePath` shortly.
This commit is contained in:
parent
623b338adf
commit
5c7bd0e398
2 changed files with 13 additions and 4 deletions
|
@ -381,10 +381,10 @@ class PurePathBase:
|
|||
def parts(self):
|
||||
"""An object providing sequence-like access to the
|
||||
components in the filesystem path."""
|
||||
if self.drive or self.root:
|
||||
return (self.drive + self.root,) + tuple(self._tail)
|
||||
else:
|
||||
return tuple(self._tail)
|
||||
anchor, parts = self._stack
|
||||
if anchor:
|
||||
parts.append(anchor)
|
||||
return tuple(reversed(parts))
|
||||
|
||||
def joinpath(self, *pathsegments):
|
||||
"""Combine this path with one or several arguments, and return a
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue