Python 如何在应用程序引擎中从Google Storage读取zip文件?

Python 如何在应用程序引擎中从Google Storage读取zip文件?,python,google-app-engine,zip,google-cloud-storage,Python,Google App Engine,Zip,Google Cloud Storage,应用程序创建一个zip文件并将其存储到Google存储。我在web服务器端工作,负责抓取zip文件、提取内容等。web服务是用Python应用程序引擎编写的。到目前为止,我已经设置了凭据,通过遵循教程,我能够列出内容。虽然我能够读取元数据和文件信息,但我无法将内容获取到zip文件模块。下列的 导游:我到了一个不起作用的地方: uri = boto.storage_uri(BUCKET_NAME, GOOGLE_STORAGE) objs = uri.get_bucket() files = []

应用程序创建一个zip文件并将其存储到Google存储。我在web服务器端工作,负责抓取zip文件、提取内容等。web服务是用Python应用程序引擎编写的。到目前为止,我已经设置了凭据,通过遵循教程,我能够列出内容。虽然我能够读取元数据和文件信息,但我无法将内容获取到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:文件不是zip文件

如何才能正确阅读内容?

现在有一个可以让您直接操作Google存储中的对象的工具。使用它,您可以为zipfile获取一个类似文件的对象,并将其传递给
zipfile
模块