正在后台删除 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
这样的系统命令,但这不是很便携,即使这样会更快,但也只是稍微快一点,因为大部分时间都花在了操作上无论如何系统。
我知道 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
这样的系统命令,但这不是很便携,即使这样会更快,但也只是稍微快一点,因为大部分时间都花在了操作上无论如何系统。