python:删除非空目录

时间:2009-10-12 22:44:36

标签: python file

如何删除Python中可能非空的目录。

该目录可能具有许多级别的嵌套子目录。

3 个答案:

答案 0 :(得分:76)

使用shutil.rmtree

import shutil

shutil.rmtree(path)

有关如何处理和/或忽略错误的详细信息,请参阅the documentation

答案 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

  

shutil.rmtree(path [,ignore_errors [,   的onerror]])

     

删除整个目录   树; path必须指向一个目录   (但不是一个符号链接   目录)。如果ignore_errors为true,   删除失败导致的错误   将被忽略;如果错误或遗漏,   这样的错误是通过调用a来处理的   由onerror指定的处理程序,如果   这被省略了,他们提出了一个   异常。