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