繁体   English   中英

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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM