如何在App Engine中从Google Storage读取zip文件?

3
一个应用程序创建了一个zip文件并将其存储到Google Storage中。我目前正在处理网络服务器端,该服务器负责提取zip文件的内容等。Web服务是用Python App Engine编写的。到目前为止,我已经设置了凭据,并通过按照教程进行操作,能够列出存储桶内容。虽然我能够读取元数据和文件信息,但我无法获取zip文件模块中的内容。按照指南,我已经陷入无法工作的困境:
uri = boto.storage_uri(BUCKET_NAME, GOOGLE_STORAGE)
objs = uri.get_bucket()
files = []
for obj in objs:
  object_contents = StringIO.StringIO()
  if obj.get_key():
    obj.get_file(object_contents)
    my_zip = zipfile.ZipFile(object_contents)
    object_contents.close()
    files.append(my_zip)
print len(files)  

我遇到了一个问题:BadZipfile: File is not a zip file

我该如何正确地读取这个文件的内容?

1个回答

2
现在有一个API,可以直接操作Google Storage中的对象。使用它,您可以获得一个类似于文件的对象,然后简单地将其传递给zipfile模块。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接