我正在尝试创建一个脚本,该脚本从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)
我的问题是,如果我想根据其过时的文件名找出哪个是最新的文件,那么有什么好办法呢?
答案 0 :(得分: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']