在python中,我知道我可以使用以下命令删除多个具有相同名称的文件,例如:
for f in glob.glob("file_name_*.txt"):
os.remove(f)
可以使用shutil.rmtree('/path/to/dir')
删除单个目录 - 即使目录不为空,此命令也会删除目录。另一方面,os.rmdir()
需要目录为空。
我实际上想要删除多个具有相同名称的目录,并且它们不是空的。所以,我正在寻找类似的东西
shutil.rmtree('directory_*')
有没有办法用python做到这一点?
答案 0 :(得分:1)
您拥有所有部分:glob()
迭代,rmtree()
删除:
for path in glob.glob("directory_*"):
shutil.rmtree(path)
如果其中一个globbed路径命名文件,或者OSError
可能失败的任何其他原因,则会抛出rmtree()
。一旦您决定如何处理错误,就可以根据需要添加错误处理。添加错误处理是没有意义的,除非你知道你想对错误做什么,所以我已经把错误处理了。