【发布时间】:2010-12-06 03:41:38
【问题描述】:
如何在 Python 中删除可能非空的目录。
该目录可能有许多层级的嵌套子目录。
【问题讨论】:
如何在 Python 中删除可能非空的目录。
该目录可能有许多层级的嵌套子目录。
【问题讨论】:
【讨论】:
标准库为此包含shutil.rmtree。默认情况下,
shutil.rmtree(path) # errors if dir not empty
会给OSError: [Errno 66] Directory not empty: <your/path>。
您可以通过忽略错误来删除目录及其内容:
shutil.rmtree(role_fs_path, ignore_errors=True)
您还可以通过传递onerrror=<some function(function, path, excinfo)> 来执行更复杂的错误处理。
【讨论】:
ignore_errors=True 表示不删除目录。
shutil.rmtree(路径[, ignore_errors[, 错误]])
删除整个目录 树; path 必须指向一个目录 (但不是指向 目录)。如果 ignore_errors 为真, 删除失败导致的错误 将被忽略;如果为假或省略, 此类错误通过调用 onerror 指定的处理程序,或者,如果 这被省略了,他们提出了一个 例外。
【讨论】: