我正在开发一个小型Google App Engine项目,我需要从URL中获取远程zip文件,然后列出zip存档中包含的文件。
我正在使用zipfile
模块。
这是我到目前为止所提出的:
# fetch the zip file from its remote URL
result = urlfetch.fetch(zip_url)
# store the contents in a stream
file_stream = StringIO.StringIO(result.content)
# create the ZipFile object
zip_file = zipfile.ZipFile(file_stream, 'w')
# read the files by name
archive_files = zip_file.namelist()
不幸的是archive_files
列表的长度始终为0。
任何想法我做错了什么?
答案 0 :(得分:6)
您正在使用w
权限打开文件,这会截断它。将其更改为r
阅读权限:
zip_file = zipfile.ZipFile(file_stream, 'r')
参考:http://docs.python.org/library/zipfile.html#zipfile-objects
答案 1 :(得分:1)
您正在打开ZipFile
进行撰写。请尝试阅读。