Python Glossary English

все Python 3zipfileфункция

zipfile.is_zipfile()

архивы ZIP

Проверяет, похож ли файл (путь или файловый объект) на ZIP-архив, по записи в его конце.

Синтаксис

zipfile.is_zipfile(filename)

Смотрит только на служебную запись в конце файла, а не на расширение и не на начало: True вернётся и для .docx, .xlsx, .jar, .whl (это ZIP внутри), и для файла с мусором перед архивом — так устроены самораспаковывающиеся архивы. Целостность содержимого не проверяется: битые данные всплывут только при чтении. Для несуществующего пути возвращает False, а не бросает исключение.

Примеры

import io, zipfile
buf = io.BytesIO()
with zipfile.ZipFile(buf, 'w') as z:
    z.writestr('a.txt', '1')
with open('odd.bin', 'wb') as f:
    f.write(b'JUNK' * 10 + buf.getvalue())
print(zipfile.is_zipfile('odd.bin'))  # → True — мусор в начале не мешает
print(zipfile.is_zipfile('missing.zip'))  # → False

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности