Python Создать Zip-файл в динамической файловой системе - PullRequest
0 голосов
/ 11 февраля 2019

У меня проблемы с созданием почтового индекса в моей файловой системе, который является динамическим в зависимости от того, что определено в файле .env.Может кто-нибудь подсказать мне правильный способ написания zip-файла?

Вот то, что я дошел до этого, и я знаю, что это неверно.

import os
import zipfile
from fs import open_fs


def download_zip_report():
    try:
        fs = open_fs(os.getenv('UPLOAD_FOLDER').strip("'"))
        with fs.open('/', 'wb') as test_file:
            zf = zipfile.ZipFile('test2.zip', mode='w')
            zf.write('file.txt')
            zf.close()

    except Exception as e:
        logging.error(str(e))
        return Response(status=404)

1 Ответ

0 голосов
/ 11 февраля 2019

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

from zipfile import ZipFile

with ZipFile('path/to/zipfile.zip', 'w') as zip_file:
    zip_file.write('path/to/file')

Учтите, что "... ZipFile такжеменеджер контекста и поэтому поддерживает оператор with. В этом примере myzip закрывается после завершения набора инструкций with, даже если возникает исключение .. " (From zipfile - Работа с ZIP-архивами документация ), поэтому вам не нужно использовать zip.close () в конце.Таким образом, применяется ко всему контекстному менеджеру в Python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...