python:删除非空目录[重复]
Posted
技术标签:
【中文标题】python:删除非空目录[重复]【英文标题】:python: delete non-empty dir [duplicate] 【发布时间】:2010-12-06 03:41:38 【问题描述】:如何在 Python 中删除可能非空的目录。
该目录可能有许多层级的嵌套子目录。
【问题讨论】:
【参考方案1】:使用shutil.rmtree
:
import shutil
shutil.rmtree(path)
有关如何处理和/或忽略错误的详细信息,请参阅the documentation。
【讨论】:
【参考方案2】:标准库为此包含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
表示不删除目录。
ignore_errors=True 是票
哦不,参数的名字太糟糕了:(
shutil.rmtree(path) 如果目录在 python 3.8 中为空,则不会给出错误,因此这可能自您 6 年前发布以来发生了变化。只是想为现在正在查看此内容的其他人更新。【参考方案3】:
你想要shutil.rmtree
shutil.rmtree(路径[, ignore_errors[, 错误]])
删除整个目录 树; path 必须指向一个目录 (但不是指向 目录)。如果 ignore_errors 为真, 删除失败导致的错误 将被忽略;如果为假或省略, 此类错误通过调用 onerror 指定的处理程序,或者,如果 这被省略了,他们提出了一个 例外。
【讨论】:
以上是关于python:删除非空目录[重复]的主要内容,如果未能解决你的问题,请参考以下文章