Python Glossary English

Python 3.8+zipfileпонятие

zipfile.Path

архивы ZIP

Объект в стиле pathlib для навигации по ZIP-архиву: оператор /, iterdir(), read_text(), exists().

Синтаксис

zipfile.Path(root, at='')

Удобен, когда код уже написан под pathlib: те же / и read_text() работают внутри архива без распаковки. Но это не pathlib.Path: путь вне архива не существует, а создание объекта ничего не проверяет — отсутствующее имя вылезет только при чтении, поэтому сначала exists(). read_text() без encoding берёт кодировку по умолчанию, как open() (до 3.15 — кодировку локали); каталоги в ZIP часто неявные, и Path видит их по префиксам имён.

Примеры

import io, zipfile
buf = io.BytesIO()
with zipfile.ZipFile(buf, 'w') as z:
    z.writestr('data/config.txt', 'debug=1')
root = zipfile.Path(buf)
print([p.name for p in root.iterdir()])  # → ['data']
cfg = root / 'data' / 'config.txt'
print(cfg.read_text(encoding='utf-8'))  # → debug=1
print((root / 'data' / 'nope.txt').exists())  # → False

См. также

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