Удаление папки в python в фоновом режиме - PullRequest
1 голос
/ 31 марта 2020

Стандартный способ удаления папок в python, о котором я знаю, это

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

Однако эта команда блокируется до тех пор, пока удаление не будет завершено, что в случае больших папок может занять много времени. ,

Есть ли неблокирующая альтернатива? Т.е. функция, которая удаляла бы папку в фоновом режиме, но сразу же возвращала?

1 Ответ

3 голосов
/ 31 марта 2020

Поскольку большая часть времени проводится в системных вызовах, поток может помочь

import threading

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

, что является кратчайшим путем. Возможно, лучшим способом было бы создать правильную функцию, чтобы вызов можно было обернуть в блок try / исключением. Альтернативы здесь: Рекурсивное удаление папок в python

Другой альтернативой может быть вызов системной команды, например rm, в фоновом режиме, но она не очень переносима, даже если это будет быстрее, но незначительно, так как большая часть времени все равно проводится в операционной системе.

...