0

我正在尝试创建一个脚本,该脚本从 S3 亚马逊存储桶中获取最新日期的文件。这是我目前正在使用的代码:

#!/usr/bin/env python

import boto
import boto.s3
from boto.s3.key import Key

# Define variables
AWS_ACCESS_KEY_ID = ''
AWS_SECRET_ACCESS_KEY = ''
BUCKET_NAME = 'My Bucket'
BUCKET = conn.get_bucket(bucket_name)
CONN = boto.connect_s3(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)

for key in bucket.list():
    print key.name

我还没有机会注册亚马逊来测试这个,但我在互联网上找到了这段代码,它应该列出存储桶中的所有文件。

我的每个文件都使用以下名称格式注明日期:

NOW = datetime.datetime.now().strftime("%Y-%m-%d__%H-%M")
Example: 1999-01-30__10-30 (10:30 on the 30th Jan 1999)

我的问题是,如果我想根据过时的文件名确定哪个是最新的文件,那么有什么好的方法呢?

4

1 回答 1

1

只需对文件名进行排序;最新的文件将是最后一个:

>>> sorted(['1999-01-30__10-30', '2012-10-10__11-22', '2011-01-30__22-11'])
['1999-01-30__10-30', '2011-01-30__22-11', '2012-10-10__11-22']
于 2012-11-20T10:00:32.057 回答