3

应用程序创建一个 zip 文件并将其存储到 Google Storage。我在负责抓取 zip 文件提取内容等的网络服务器端工作。网络服务是用 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

如何正确阅读内容?

4

1 回答 1

2

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

于 2011-11-16T22:59:17.000 回答