Создавать zip-архив с несколькими файлами

Я использую следующий код, в котором я передаю имена файлов .pdf с их путями для создания zip файла.

for f in lstFileNames:
        with zipfile.ZipFile('reportDir' + str(uuid.uuid4()) + '.zip', 'w') as myzip:
            myzip.write(f)

Он только архивирует один файл. Мне нужно архивировать все файлы в моем списке в одной папке zip.

Прежде чем люди начнут указывать, да, я консультировался с ответами этого и этой, но код, данный там, не работает для меня. Код работает, но я не могу найти сгенерированный zip файл в любом месте на моем компьютере.

Было бы понятно простой простой ответ. Спасибо.

Ответ 1

Заказ неверный. Вы создаете новый объект zipfile для каждого элемента в lstFileNames

Должно быть так.

with zipfile.ZipFile('reportDir' + str(uuid.uuid4()) + '.zip', 'w') as myzip:
    for f in lstFileNames:   
        myzip.write(f)