2012-12-19 35 views
1

如果有人與博託合作,我想知道你是否可以提供幫助。我現在這樣的代碼:Python博託下載問題

from boto.s3.connection import S3Connection 
from boto.s3.key import Key 

conn = S3Connection(XXX, YYY) 
bucket = conn.get_bucket('bucketname') 
latest = max(bucket, key=lambda k: k.name) 
latest.get_contents_to_filename() 

我感到困惑的兩件事情,並會很感激一些幫助:

  1. 在我鬥,我創建的目錄。我該如何做到這一點,因此該腳本只能查看桶中的單個目錄,即「照片」而不是我整個S3存儲桶?
  2. 如何指定下載位置。該腳本旨在從S3存儲桶中獲取最新的日期時間名稱的文件並下載它,但我想知道是否可以指定它的下載位置。

回答

2

這對我來說很難,但您需要明白,這不是一個包含目錄的文件系統。

來解決此問題:

你可以(在GitHub從博託)使用前綴參數:

:PARAM前綴:讓你列表限制到特定 前綴。例如,如果您使用 prefix ='/ foo /'調用方法,那麼迭代器將僅循環通過 以字符串「/ foo /」開頭的鍵。

https://github.com/boto/boto/blob/develop/boto/s3/bucket.py

看線219

我使用閱讀的代碼是一樣的東西:

def read_file(self, key_name): 
    k = Key(self.__bucket) 
    k.key = key_name 
    if k.exists(): 
     rawData = k.read() 
    else : 
     rawData = None 
    return rawData 
+0

謝謝你的幫助。我仍然有點困惑。首先,如果我感興趣的「目錄」在這裏:/ Images/FamilyPhotos /我的前綴是「FamilyPhotos」還是「/ Images/FamilyPhotos /」? – Jimmy

+0

添加整個前綴「/ Images/FamilyPhotos /」 – Avia

+0

非常感謝 – Jimmy