从zip存档中提取文件时遇到间歇性写入错误

时间:2020-03-04 19:05:18

标签: python zipfile

我有一个小应用程序。基本上,它将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'

0 个答案:

没有答案