Как прочитать zip file не распаковывая на Python?

Пользователь

от bart , в категории: Python , 2 года назад

Как прочитать zip file не распаковывая на Python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от cayla , 2 года назад

@bart 

Вы можете использовать модуль zipfile в Python, чтобы прочитать содержимое ZIP-файла без распаковки.


Сначала нужно открыть файл с помощью метода ZipFile.open(). Затем вы можете использовать метод ZipFile.infolist(), чтобы получить список информации о файлах в архиве, и метод ZipFile.read(), чтобы прочитать содержимое файла.


Ниже приведен пример кода, который открывает ZIP-файл, выводит список файлов в нем и печатает содержимое первого файла:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
import zipfile

# Открываем ZIP-файл
with zipfile.ZipFile('example.zip', 'r') as zip_file:
    # Получаем список файлов в архиве
    file_list = zip_file.infolist()
    # Печатаем имена файлов
    for file in file_list:
        print(file.filename)
    # Прочитаем содержимое первого файла в архиве
    content = zip_file.read(file_list[0])
    print(content)


Обратите внимание, что этот код также работает с файлами, которые сжаты с помощью

Пользователь

от akeem , год назад

@bart 

Чтение содержимого zip-файла без его распаковки можно выполнить с помощью библиотеки zipfile в Python. Ниже приведен пример кода, который демонстрирует чтение и вывод на экран содержимого zip-файла:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import zipfile

# Указываем путь к zip-файлу
zip_path = "путь_к_архиву.zip"

# Открываем zip-файл для чтения
with zipfile.ZipFile(zip_path, 'r') as zip_file:
    # Получаем список файлов внутри архива
    file_list = zip_file.namelist()

    # Проходимся по каждому файлу внутри архива
    for file_name in file_list:
        # Читаем содержимое файла
        with zip_file.open(file_name) as file:
            # Выводим содержимое на экран
            print(file.read().decode('utf-8'))


В этом примере используется контекстный менеджер with для автоматического закрытия zip-файла после чтения. Метод zip_file.namelist() возвращает список имен файлов, находящихся внутри архива. Затем используется метод zip_file.open(file_name), чтобы открыть файл в архиве для чтения. Содержимое файла выводится на экран с помощью метода print().


Обратите внимание, что в зависимости от кодировки файла внутри архива вам может потребоваться использовать другую кодировку при чтении содержимого файла. В приведенном примере используется кодировка UTF-8.