Python Boto从S3下载子目录到Windows

1 投票
1 回答
1316 浏览
提问于 2025-04-17 10:43

我正在使用Python的Boto库把一个存储桶里的所有文件下载到我的Windows系统上。问题是,这个存储桶里有一些子目录(或者你可以叫它们其他名字)。这是我部分的代码,但它出错了,因为它试图写入一个不存在的路径,因为它把S3的路径映射到了Windows的路径上。

logsBucket = s3.get_bucket('mylogs')

for b in logsBucket:
    #Download log
    print b.name
    key = logsBucket.get_key(b.name)
    fp = open("D:\\mylogs\\" + b.name, "w")
    key.get_file(fp)

这个路径的关键部分是这样的:'mysite/access/*.gz'

我不知道,是不是我太困了,还是我应该在我的Linux系统上做这个,但在Windows上做对我来说会更有用。

1 个回答

0

没错,我有点困!我在随便的谷歌搜索中找到了答案,看到一个示例脚本在 wpstorm.net/2010/11/aws-s3-logs-boto-python。这篇文章展示了如何正确处理 S3 存储桶。我应该使用带前缀的 bucket.list。现在明白了。希望这能帮助到其他人。

撰写回答