Boto3获取S3存储桶

时间:2016-08-29 17:01:41

标签: python amazon-s3 boto3

我正在尝试获取存储桶子文件夹中的文件列表。一切正常,但是,当我尝试解析文件时,我注意到我的代码拉出的第一个键是子文件夹名称。有没有办法将子文件夹名称省略为键?

s3 = session.resource('s3')
bucket = s3.Bucket('bucket_name')

for obj in bucket.objects.filter(Prefix="sub1"):
    key = obj.key
    print(key)

打印键的结果

sub1/
sub1/file1
sub1/file2
.
.

1 个答案:

答案 0 :(得分:2)

我想象django中的集合上有.exclude,但我无法将其视为一种选择。你可以试试这样的东西

s3 = session.resource('s3')
bucket = s3.Bucket('bucket_name')
prefix = "sub1/"
data = [obj for obj in list(bucket.objects.filter(Prefix=prefix)) if obj.key != prefix]

for obj in data:
    print(obj.key)