Python 3.8+gzipисключение
gzip.BadGzipFile
исключения
Исключение gzip для данных, которые не являются gzip или повреждены (неверный заголовок, CRC).
Синтаксис
except gzip.BadGzipFile:
Наследник OSError, поэтому except OSError его тоже ловит — в отличие от zipfile.BadZipFile. При gzip.open() файл не проверяется: ошибка всплывает на первом read(). Обрезанный архив даёт не BadGzipFile, а EOFError, а несошедшаяся контрольная сумма — BadGzipFile с текстом «CRC check failed».
Примеры
import gzip
with open('plain.txt', 'wb') as f:
f.write(b'just text')
f = gzip.open('plain.txt')
try:
f.read()
except gzip.BadGzipFile as e:
print(e) # → Not a gzipped file (b'ju')
finally:
f.close()
print(issubclass(gzip.BadGzipFile, OSError)) # → True
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности