删除python中的大量文件

时间:2011-08-04 17:40:32

标签: python performance

我正在尝试删除目录中找到的所有文件。 Delete Folder Contents in Python接受的答案建议获取所有文件的列表,并在循环中调用“取消链接”。

假设我在网络共享上有数千个文件,并希望尽可能短的时间占用目录。

使用rm -f /path/*等shell命令或使用shutils.rmtree或其他类似命令删除它们是否更有效?

2 个答案:

答案 0 :(得分:5)

如果您确实要删除整个目录树,shutils.rmtree应该比os.remove更快(与os.unlink相同)。它还允许您指定回调函数来处理错误。

@nmichaels评论中的建议也很好,您可以os.rename该目录然后在其位置创建一个新目录,并在原始的重命名目录上使用shutils.rmtree

答案 1 :(得分:0)

我尝试了此解决方案,它似乎运行良好:

ngrok