Python Boto从S3下载子目录到Windows
我正在使用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。现在明白了。希望这能帮助到其他人。