Содржина на објавата
Как прочитать файл из ZIP архива не распаковывая этот архив? Недавно была задача достать данные из JSON файла который лежит в ZIP архиве. Первое, что приходит в голову – распечатать архив в TEMP и найти нужный файл. Но с Python можно сделать проще: прочитать нужный файл в архиве не извлекая всё содержимое. Например, есть некий архив archive.zip. Где-то внутри есть файл config.json который нам надо прочитать. Вот код который это сделает: from zipfile import ZipFile from pathlib import Path import json def get_json_from_zip(archive, file_name): zip = ZipFile(archive) for zipname in zip.namelist(): if Path(zipname).name == file_name: with zip.open(zipname) as f: return json.load(f) config_name = 'config.json' archive_path = 'archive.zip' conf = get_json_from_zip(archive_path, config_name) #tricks#libs