2011-11-16 97 views
3

應用程序創建一個zip文件並將其存儲到Google Storage。我正在負責抓取zip文件的Web服務器端提取內容等。該Web服務是用Python App Engine編寫的。到目前爲止,我已經設置了憑據,並且通過遵循教程我可以列出桶內容。儘管我能夠讀取元數據和文件信息,但我無法將內容獲取到zip文件模塊。繼this 引導我在那個地方結束了其無法正常工作:如何從App Store中的Google Storage中讀取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

我怎樣才能正確讀取的內容?

回答

2

現在有an API可讓您直接在Google存儲中操作對象。使用它,你可以得到一個類似於文件的zipfile對象,並將其傳遞給zipfile模塊。