Недавно наша команда столкнулась с проблемой, из-за которой Shutils.rmtree работает случайным образом. В большинстве случаев это работает, но иногда выдает такую ошибку:
OSError: [Errno 66] Directory not empty
Поэтому мы теперь перешли на самописный фрагмент Python, который, скорее всего, не является самым оптимизированным по производительности способом выполнения задач. Интересно, известна ли это проблема с closeils.rmtree и существует ли на самом деле альтернативный способ сделать это, кроме Shutils и os rmtree, которые оба не работают должным образом.
shutils.rmtree работал хорошо в течение многих лет, но только недавно начал давать сбой после обновления среды и Python.
OSError: [Errno 66] Directory not empty
# python os.rmtreee and shutils.rmtree seem to both have issues hence do it yourself
def rmtree(dir_name):
dir_path = os.path.join(os.getcwd(), dir_name)
try:
for filepath in os.listdir(dir_path):
fullpath = os.path.join(dir_path, filepath)
if(os.path.isdir(fullpath)):
rmtree(fullpath)
else:
os.remove(fullpath)
os.rmdir(dir_path)
print("folder is deleted")
except:
print("folder is not there")
Подробнее здесь: https://stackoverflow.com/questions/798 ... ly-bugging