Откройте zip-файл, не распаковывая его в Python

  1. Используйте функцию zipfile.ZipFile(), чтобы открыть Zip-файл без его временного извлечения в Python
  2. Используйте функцию ZipFile.open(), чтобы открыть Zip-файл без временного извлечения его в Python

В этой статье объясняется, как открыть zip-файл без его временного извлечения в программном обеспечении Python. Чтобы открыть zip-файл без его временного извлечения в Python, используйте библиотеку Python zipfile.

Для этого импортируйте стандартную библиотеку zipfile. Затем используйте любую из следующих функций.

  • Используйте функцию zipfile.ZipFile() в режиме чтения.
  • Используйте функцию ZipFile.open() в режиме чтения.

Прежде чем мы начнем, подготовьте zip-файл. Следуйте приведенным ниже инструкциям.

  • Подготовьте текстовый файл с именем mail.txt с некоторым содержимым внутри него как:
    This is from mail.txt
    
  • Заархивируйте файл mail.txt.
  • Назовите zip-файл mail.zip.

Используйте функцию zipfile.ZipFile(), чтобы открыть Zip-файл без его временного извлечения в Python

Ниже приведен пример программы, в которой показано, как открыть zip-файл без временного извлечения его в Python. Используйте функцию zipfile.ZipFile() в режиме чтения следующим образом.

zipfile.ZipFile(file, mode='r')

Здесь file - это либо:

  • Путь к файлу (строка)
  • Файловый объект
  • объект, похожий на путь

Например,

import zipfile
archive = zipfile.ZipFile('mail.zip', 'r')
#Let us verify the operation..
txtdata = archive.read('mail.txt')
print(txtdata)

Выход:

b'This is from mail.txt'

Используйте функцию ZipFile.open(), чтобы открыть Zip-файл без временного извлечения его в Python

Вот пример, демонстрирующий, как открыть zip-файл без его временного извлечения в Python.

Здесь мы используем функцию open() в режиме чтения.

ZipFile.open(name, mode='r')

Элемент zip-файла рассматривается как двоичный объект, подобный файлу. name здесь может быть:

  • Имя файла в zip-архиве.
  • Объект ZipInfo

Вот пример.

import zipfile
with zipfile.ZipFile('mail.zip') as thezip:
    with thezip.open('mail.txt',mode='r') as thefile:
        #Let us verify the operation..
        print(thefile.read())

Выход:

b'This is from mail.txt'

Сопутствующая статья - Python File

  • Как получить все файлы каталога
  • Как удалить файл и каталог на Python
  • Как добавить текст к файлу в Python
  • Как проверить, существует ли файл на Python