bpo-34329: Doc'd how to remove suffix of pathlib.Path() (GH-8655)

This commit is contained in:
Stefan Otte 2018-08-03 22:49:42 +02:00 committed by Berker Peksag
parent 5a953fd0ab
commit 46dc4e34ed
2 changed files with 9 additions and 3 deletions

View File

@ -559,7 +559,8 @@ Pure paths provide the following methods and properties:
.. method:: PurePath.with_suffix(suffix)
Return a new path with the :attr:`suffix` changed. If the original path
doesn't have a suffix, the new *suffix* is appended instead::
doesn't have a suffix, the new *suffix* is appended instead. If the
*suffix* is an empty string, the original suffix is removed::
>>> p = PureWindowsPath('c:/Downloads/pathlib.tar.gz')
>>> p.with_suffix('.bz2')
@ -567,6 +568,9 @@ Pure paths provide the following methods and properties:
>>> p = PureWindowsPath('README')
>>> p.with_suffix('.txt')
PureWindowsPath('README.txt')
>>> p = PureWindowsPath('README.txt')
>>> p.with_suffix('')
PureWindowsPath('README')
.. _concrete-paths:

View File

@ -807,8 +807,10 @@ class PurePath(object):
self._parts[:-1] + [name])
def with_suffix(self, suffix):
"""Return a new path with the file suffix changed (or added, if none)."""
# XXX if suffix is None, should the current suffix be removed?
"""Return a new path with the file suffix changed. If the path
has no suffix, add given suffix. If the given suffix is an empty
string, remove the suffix from the path.
"""
f = self._flavour
if f.sep in suffix or f.altsep and f.altsep in suffix:
raise ValueError("Invalid suffix %r" % (suffix))