У нас были проблемы с удалением файлов и каталогов в Windows, даже если мы только что скопировали их, если они были установлены на «только чтение». shutil.rmtree()
предлагает вам своего рода обработчики исключений для обработки этой ситуации. Вы вызываете его и предоставляете обработчик исключений, например:
import errno, os, stat, shutil
def handleRemoveReadonly(func, path, exc):
excvalue = exc[1]
if func in (os.rmdir, os.remove) and excvalue.errno == errno.EACCES:
os.chmod(path, stat.S_IRWXU| stat.S_IRWXG| stat.S_IRWXO) # 0777
func(path)
else:
raise
shutil.rmtree(filename, ignore_errors=False, onerror=handleRemoveReadonly)
Вы можете попробовать это.