zip уже открытые файлы в python - PullRequest
       89

zip уже открытые файлы в python

0 голосов
/ 22 декабря 2019

Я бы хотел сжать список открытых файлов в Python. Такие библиотеки, как ZipFile и shutil, могут сжимать файлы только в том случае, если вы указали путь к ним, а не указали сам файл. Я бы хотел избежать обходного пути, такого как сохранение каждого файла и чтение его с помощью ZipFile или shutil, так как некоторые файлы могут быть довольно большими, и это может занять много времени.

1 Ответ

2 голосов
/ 22 декабря 2019

Использование ZipFile.writestr, кажется, позволяет достичь этого (см. Также документация )

from zipfile import ZipFile

with ZipFile('spam.zip', 'w') as myzip:
    myzip.writestr('test.txt', 'test')

zip_file = ZipFile('spam.zip', 'r')
zip_file.namelist()


['test.txt']

Из исходного кода он не представляется для сохранения во временном файле, а записывает непосредственно впочтовый архив.

...