summaryrefslogtreecommitdiff
path: root/Lib/pathlib.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/pathlib.py')
-rw-r--r--Lib/pathlib.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/Lib/pathlib.py b/Lib/pathlib.py
index 178c5b981d..531a699a40 100644
--- a/Lib/pathlib.py
+++ b/Lib/pathlib.py
@@ -630,7 +630,10 @@ class _PathParents(Sequence):
return len(self._parts)
def __getitem__(self, idx):
- if idx < 0 or idx >= len(self):
+ if isinstance(idx, slice):
+ return tuple(self[i] for i in range(*idx.indices(len(self))))
+
+ if idx >= len(self) or idx < -len(self):
raise IndexError(idx)
return self._pathcls._from_parsed_parts(self._drv, self._root,
self._parts[:-idx - 1])