2

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

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

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

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

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

4

1 回答 1

1

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

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

OSError如果其中一个全局路径命名一个文件,或者由于任何其他rmtree()可能失败的原因,这将抛出。一旦您决定如何处理错误,就可以添加您认为合适的错误处理。除非您知道要对错误做什么,否则添加错误处理是没有意义的,因此我忽略了错误处理。

于 2013-03-27T06:51:47.820 回答