如果有人与 boto 合作过,我想知道你是否可以提供帮助。我目前有这个代码:
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()
我对两件事感到困惑,非常感谢一些帮助:
- 在我的存储桶中,我创建了目录。我怎样才能让这个脚本只查看存储桶中的单个目录,即“照片”而不是我的整个 S3 存储桶?
- 如何指定下载位置。该脚本旨在从 S3 存储桶中获取最新的日期时间命名文件并下载它,但我想知道是否可以指定它的下载位置。
最佳答案
这对我来说也很难,但你需要明白这不是一个带有目录的文件系统。
要解决您的问题:
您可以使用前缀参数(来自 GitHub 上的 boto):
:参数前缀:允许您将列表限制为特定的 字首。例如,如果您使用以下方式调用该方法 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
关于Python Boto 下载问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13949713/