Python Boto下载问题

2024-04-26 20:28:55 发布

您现在位置:Python中文网/ 问答频道 /正文

如果有人和博托合作过,我想知道你是否能帮上忙。我现在有这个代码:

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()

我有两件事很困惑,希望能得到帮助:

  1. 我在bucket中创建了目录。我怎样才能使这个脚本只查看bucket中的一个目录,即“Photos”而不是我的整个S3 bucket?在
  2. 如何指定下载位置。这个脚本被设计成从S3存储桶中获取最新的datetime name'd文件并将其下载,但是我想知道是否可以指定它的下载位置。在

Tags: key代码namefromimport目录脚本get
1条回答
网友
1楼 · 发布于 2024-04-26 20:28:55

这对我来说也很难,但是你需要明白这不是一个有目录的文件系统。在

要解决您的问题:

您可以使用prefix参数(来自GitHub上的boto):

:param prefix:允许您将列表限制为 前缀。例如,如果使用 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

相关问题 更多 >