Ошибка прерывистой записи при извлечении файлов из zip-архива - PullRequest
1 голос
/ 04 марта 2020

У меня есть небольшое заявление, которое я сделал. Он в основном копирует zip-файл из сетевого расположения на компьютер, на котором выполняется приложение, распаковывает его в папку, а затем создает ярлык на рабочем столе.

Большую часть времени (я бы сказал, около 80 %) работает как задумано. Остальные 20% времени трассировки стека говорят, что не могут создать файл. Это всегда то же самое (_bz2.pyd). Если я закрою его и снова запусту, то после этого все будет работать нормально.

У кого-нибудь есть идеи о том, что происходит? Вот код, который извлекает файл. Я даже заставил скрипт попробовать извлечь файл, проверить, сработал ли он, попытаться извлечь файл снова. Это не решило проблему:

print ('uncompressing databases.  This takes a few minutes')
# file_name = settings.working_folder + r'\UAT_Databases.zip'
temp_name = settings_dict['working_folder'] + settings_dict['file_name']
zip_ref = zipfile.ZipFile(temp_name, 'r')
zip_ref.extractall(settings_dict['install_folder'])
zip_ref.close()
logr.info('unzipped databases')

Вот трассировка стека:

Traceback (most recent call last):
  File "temp_installer.py", line 141, in unzip_databases
  File "zipfile.py", line 1347, in extractall
  File "zipfile.py", line 1335, in extract
  File "zipfile.py", line 1398, in _extract_member
PermissionError: [Errno 13] Permission denied: 'C:\\TempApps\\Temp_application\\_bz2.pyd'
2020-03-03 11:36:25,697 : ERROR : __main__ : could not unzip databases
Traceback (most recent call last):
  File "temp_installer.py", line 141, in unzip_databases
  File "zipfile.py", line 1347, in extractall
  File "zipfile.py", line 1335, in extract
  File "zipfile.py", line 1398, in _extract_member
PermissionError: [Errno 13] Permission denied: 'C:\\TempApps\\Temp_application\\_bz2.pyd'
...