Reputation: 10922
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.
Upvotes: 8
Views: 18183
Reputation: 131550
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', ...]
Upvotes: 21
Reputation: 10351
http://docs.python.org/library/zipfile.html
Specifically, try using the ZipFile.namelist() method.
Upvotes: 5