我正在开发一个小型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.
我有什么想法我做错了吗?
最佳答案 您正在使用w权限打开文件,这会截断它.将其更改为r读取权限:
zip_file = zipfile.ZipFile(file_stream, 'r')
参考:http://docs.python.org/library/zipfile.html#zipfile-objects