如何删除Python中可能非空的目录。
该目录可能具有许多级别的嵌套子目录。
答案 0 :(得分:76)
答案 1 :(得分:54)
标准库包含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)>
来执行更复杂的错误处理。
答案 2 :(得分:9)
shutil.rmtree(path [,ignore_errors [, 的onerror]])
删除整个目录 树; path必须指向一个目录 (但不是一个符号链接 目录)。如果ignore_errors为true, 删除失败导致的错误 将被忽略;如果错误或遗漏, 这样的错误是通过调用a来处理的 由onerror指定的处理程序,如果 这被省略了,他们提出了一个 异常。