Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Create zip archive with multiple files

Tags:

I'm using following code where I pass .pdf file names with their paths to create zip file.

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

It only archives one file though. I need to archive all files in my list in one single zip folder.

Before people start to point out, yes I have consulted answers from this and this link but the code given there doesn't work for me. The code runs but I can't find generated zip file anywhere in my computer.

A simple straightforward answer would be appreciated. Thanks.

like image 530
Tahreem Iqbal Avatar asked Sep 29 '16 10:09

Tahreem Iqbal


Video Answer


1 Answers

Order is incorrect. You are creating new zipfile object for each item in lstFileNames

Should be like this.

with zipfile.ZipFile('reportDir' + str(uuid.uuid4()) + '.zip', 'w') as myzip:     for f in lstFileNames:            myzip.write(f) 
like image 142
Sardorbek Imomaliev Avatar answered Jan 22 '23 03:01

Sardorbek Imomaliev