正在后台删除 python 中的文件夹

Deleting folder in python in the background

我知道 python 中删除文件夹的标准方法是

 shutil.rmtree('/path/to/folder')

但是,此命令会在删除完成之前阻塞,对于大型文件夹,这可能需要很长时间。

有没有非阻塞的替代方案? IE。一个函数会删除 'background' 中的文件夹,但会立即删除 return?

由于大部分时间花在系统调用上,线程可以提供帮助

import threading

threading.Thread(target = lambda : shutil.rmtree('/path/to/folder')).start()

那是最短的路。也许更好的方法是创建一个适当的函数,以便可以将调用包装在 try/except 块中。这里的备选方案:Deleting folders in python recursively

另一种方法是在后台调用像 rm 这样的系统命令,但这不是很便携,即使这样会更快,但也只是稍微快一点,因为大部分时间都花在了操作上无论如何系统。