3

アプリケーションが zip ファイルを作成し、それを Google ストレージに保存します。私は、zip ファイルの取得やコンテンツの抽出などを担当する Web サーバー側で作業しています。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

内容を正しく読むにはどうすればよいですか?

4

1 に答える 1

2

Google Storage 内のオブジェクトを直接操作できるAPIが追加されました。それを使用して、zipfile のファイルのようなオブジェクトを取得し、それをzipfileモジュールに渡すだけです。

于 2011-11-16T22:59:17.000 に答える