如何按目录隔离S3 bucket中的文件?

2024-05-20 20:26:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个s3 bucketmybucket,其中包含以下目录结构中的三个文件

a/b/c/d/some_file.txt
a/b/d/d/some_file2.txt
x/y/z/yet_another_file.txt

我可以使用以下命令列出所有文件:

import boto3

# Extract the files from the s3 bucket
s3 = boto3.resource('s3')
bucket = s3.Bucket('mybucket')
bucket_files = [x.key for x in bucket.objects.all()]

尽管这将产生s3存储桶中的所有文件,例如:

a/b/c/d/some_file.txt
a/b/d/d/some_file2.txt
x/y/z/yet_another_file.txt

如何只列出a中的文件?e、 g

a/b/c/d/some_file.txt
a/b/d/d/some_file2.txt

Tags: 文件the目录txts3bucketanothersome
2条回答

另一种选择:

import boto3
s3 = boto3.client('s3')
resp = s3.list_objects_v2(Bucket='mybucket', Prefix='a')

filterPrefix一起使用:

import boto3

# Extract the files from the s3 bucket
s3 = boto3.resource('s3')
bucket = s3.Bucket('mybucket')
bucket_files = [x.key for x in bucket.objects.filter(Prefix='a/')]

相关问题 更多 >