Skip to main content
 首页 » 编程设计

python之Boto之从 S3 抓取最新的

2025年05月04日13java哥

我有点深奥了。我想在 S3 上存储备份,然后在下载 S3 存储桶的特定“文件夹”中的最新修改文件时尝试下载脚本。

我做到了这一点:

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

到目前为止,这是为了获取存储桶中每个文件的名称和最后修改时间。这就是我真正卡住的地方,因为我需要获取最新的然后下载它,这就是我卡住的地方。

谁能伸出援手?

请您参考如下方法:

您需要按 last_modifed 对键列表进行排序,然后列表的最后一项将是您想要的文件。像这样:

key_list = bucket.list() 
key_list.sort(cmp = lambda x, y: 
    cmp(x.last_modified, y.last_modified)) 
key_list[-1].get_file(destination_fp) 

这是您可以尝试的另一种排序方法:

key_list.sort(key=lambda x: x.last_modified)