2012-12-08 68 views
0

我是新來的Python編碼,並沒有能夠取得進展。我有以下格式一段時間編碼的文件名:S3 Boto正在下載 - 最新上傳

20121208151318.gzip 
20121208151320.gzip 
20121208151322.gzip 
20121208151325.gzip 
20121208151326.gzip 

使用這個代碼,我可以打印所有文件的文件名在我的S3存儲桶:

import boto 
s3conn = boto.connect_s3() 
bucket = s3conn.lookup('my_bucket_name') 
for key in bucket: 
    print k.name 

key.getfile() 

我需要兩個方面的幫助。首先,我怎樣才能在桶中最新的文件的名稱,這在我的情況是:

20121208151326 (15:13:26 - 8th December 2012) 

其次,我怎麼能那麼下載此文件?我發現了key.getfile()命令,但我無法工作如何實現它。

+0

你試過最大(關鍵)? key.get_contents_to_filename()? – Guy

+0

key.get_contents_to_filename()?作爲key.getfile() – Jimmy

+0

的替代,假設您需要gzip文件的內容,get_content_to_file/get_content_to_filename應該沒問題。 – Guy

回答

1

根據您的格式latest = max(keys)應該得到的最新項目

要下載的文件的內容您可以使用

latest.get_contents_to_filename(<file_name>) 

latest.get_contents_to_file(<file>) 

boto documentations for S3

更多細節
+0

這是你的意思? https://gist.github.com/4246555 – Jimmy

+0

添加以獲取密鑰列表: 'keys = [key for key]' – Guy

+0

謝謝。我沒有完全理解,我有這個代碼:https://gist.github.com/4246555。我應該輸入什麼「鑰匙鑰匙」? – Jimmy