Using Python, getting the name of files in a zip archive


I have several very large zip files available to download on a website. I am using Flask microframework (based on Werkzeug) which uses Python.

Is there a way to show the contents of a zip file (i.e. file and folder names) - to someone on a webpage - without actually downloading it? As in doing the working out server side.

Assume that I do not know what are in the zip archives myself.

I apoligize that this post does not include code.

Thank you for helping.

9/9/2010 5:07:54 PM

Accepted Answer

Sure, have a look at zipfile.ZipFile.namelist(). Usage is pretty simple, as you'd expect: you just create a ZipFile object for the file you want, and then namelist() gives you a list of the paths of files stored in the archive.

with ZipFile('', 'r') as f:
    names = f.namelist()
print names
# ['file1', 'folder1/file2', ...]
9/9/2010 5:11:20 PM

Specifically, try using the ZipFile.namelist() method.

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow