Boto3 获取 S3 存储桶的内容

Boto3 get contents of S3 bucket

我正在尝试获取存储桶子文件夹中的文件列表。一切正常,除了,当我尝试解析文件时,我注意到我的代码提取的第一个键是子文件夹名称。有什么办法可以省略子文件夹名称作为关键字吗?

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
.
.

我想在 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)