[New-bugs-announce] [issue22040] Add a "force" parameter to shutil.rmtree
report at bugs.python.org
Tue Jul 22 21:54:30 CEST 2014
New submission from Paul Moore:
It would be useful for shutil.rmtree to have a "force" argument that overrode read-only permission issues, essentially replicating the behaviour of the -f flag in rm -rf (Unix) and the -force parameter of del (Windows Powershell).
It's possible to use the onerror callback to implement this, but it's tricky to get right in a cross-platform manner. See http://stackoverflow.com/questions/2656322, which recommends
def onerror(func, path, exc_info):
if not os.access(path, os.W_OK):
and http://stackoverflow.com/questions/1889597 which recommends
def remove_readonly(func, path, excinfo):
It's not clear whether either of these is portable, though (the former looks to me like it's Unix-specific and the latter like it's for Windows, but I'm not sure).
Having the functionality available in the standard library function directly avoids having people write tricky and potentially buggy code for what is a pretty common situation. (In particular, this comes up a lot in code that deletes git checkouts on Windows, where git makes parts of the .git directory readonly).
components: Library (Lib)
title: Add a "force" parameter to shutil.rmtree
versions: Python 3.5
Python tracker <report at bugs.python.org>
More information about the New-bugs-announce