san*_*jha 2 python amazon-s3 amazon-web-services boto3 pyspark
您好,我有 aws s3 存储桶,其中定义了一些文件夹和子文件夹
我只需要检索该文件夹中的文件名。该怎么做
Run Code Online (Sandbox Code Playgroud)s3 bucket name - abc path - s3://abc/ann/folder1/folder2/folder3/file1 path - s3://abc/ann/folder1/folder2/file2
到目前为止尝试过的代码
s3 = boto3.client(s3)
lst_obj = s3.list_objects(bucket='abc',prefix='ann/')
lst_obj["contents"]
Run Code Online (Sandbox Code Playgroud)
我正在进一步循环以获取所有内容
for file in lst_obj["contents"]:
do somtheing...
Run Code Online (Sandbox Code Playgroud)
这里 file["Key"] 给了我整个路径,但我只需要文件名
Key
您可以通过按符号拆分文件/
并提取最后一个元素来提取名称
for file in lst_obj["contents"]:
name = file["Key"].split("/")[-1]
Run Code Online (Sandbox Code Playgroud)
这是如何获取文件名的示例。
import boto3
s3 = boto3.resource('s3')
for obj in s3.Bucket(name='<your bucket>').objects.filter(Prefix='<prefix>'):
filename = obj.key.split('/')[-1]
print(filename)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11770 次 |
最近记录: |