все Python 3zipfileисключение
zipfile.LargeZipFile
исключения
Исключение zipfile: операции нужны расширения ZIP64 (файл больше 4 ГиБ или больше 65535 записей), а они запрещены.
Синтаксис
except zipfile.LargeZipFile:
Встретить его можно, только явно передав allowZip64=False: с Python 3.4 ZIP64 включён по умолчанию. Отключают его ради старых распаковщиков, не понимающих ZIP64, — и тогда большой файл не пишется вовсе, а не пишется «как-нибудь». Решение о ZIP64 при потоковой записи через open(..., 'w') принимается заранее по заявленному file_size, поэтому огромный файл без размера в ZipInfo упадёт уже посреди записи.
Примеры
import zipfile
with zipfile.ZipFile('small.zip', 'w', allowZip64=False) as z:
info = zipfile.ZipInfo('huge.bin')
info.file_size = 5 * 2**30
try:
z.open(info, 'w')
except zipfile.LargeZipFile as e:
print(e) # → Filesize would require ZIP64 extensions
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности