Python Glossary English

все 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Сообщить о неточности