mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
bpo-33123: pathlib: Add missing_ok parameter to Path.unlink (GH-6191)
Similarly to how several pathlib file creation functions have an "exists_ok" parameter, we should introduce "missing_ok" that makes removal functions not raise an exception when a file or directory is already absent. IMHO, this should cover Path.unlink and Path.rmdir. Note, Path.resolve() has a "strict" parameter since 3.6 that does the same thing. Naming this of this new parameter tries to be consistent with the "exists_ok" parameter as that is more explicit about what it does (as opposed to "strict"). https://bugs.python.org/issue33123
This commit is contained in:
parent
1a2dd82f56
commit
d9e006bcef
4 changed files with 23 additions and 3 deletions
|
@ -1279,14 +1279,18 @@ class Path(PurePath):
|
|||
self._raise_closed()
|
||||
self._accessor.lchmod(self, mode)
|
||||
|
||||
def unlink(self):
|
||||
def unlink(self, missing_ok=False):
|
||||
"""
|
||||
Remove this file or link.
|
||||
If the path is a directory, use rmdir() instead.
|
||||
"""
|
||||
if self._closed:
|
||||
self._raise_closed()
|
||||
self._accessor.unlink(self)
|
||||
try:
|
||||
self._accessor.unlink(self)
|
||||
except FileNotFoundError:
|
||||
if not missing_ok:
|
||||
raise
|
||||
|
||||
def rmdir(self):
|
||||
"""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue