删除python中的多个目录

时间:2013-03-27 06:50:06

标签: python directory shutil

在python中,我知道我可以使用以下命令删除多个具有相同名称的文件,例如:

for f in glob.glob("file_name_*.txt"):
    os.remove(f)

可以使用shutil.rmtree('/path/to/dir')删除单个目录 - 即使目录不为空,此命令也会删除目录。另一方面,os.rmdir()需要目录为空。

我实际上想要删除多个具有相同名称的目录,并且它们不是空的。所以,我正在寻找类似的东西 shutil.rmtree('directory_*')

有没有办法用python做到这一点?

1 个答案:

答案 0 :(得分:1)

您拥有所有部分:glob()迭代,rmtree()删除:

for path in glob.glob("directory_*"):
    shutil.rmtree(path)

如果其中一个globbed路径命名文件,或者OSError可能失败的任何其他原因,则会抛出rmtree()。一旦您决定如何处理错误,就可以根据需要添加错误处理。添加错误处理是没有意义的,除非你知道你想对错误做什么,所以我已经把错误处理了。