Skip to content
Advertisement

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.

Advertisement

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('foo.zip', 'r') as f:
    names = f.namelist()
print names
# ['file1', 'folder1/file2', ...]
User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement