python - 如何使用pyspark仅检索s3文件夹路径中的文件名
问题描述
嗨,我有 aws s3 存储桶,其中定义了几个文件夹和子文件夹
我只需要检索它所在文件夹中的文件名。如何去做
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"]
我正在进一步循环以获取所有内容
for file in lst_obj["contents"]:
do somtheing...
这里 file["Key"] 给了我整个路径,但我只需要文件名
解决方案
您可以通过Key
在/
符号上拆分文件并提取最后一个元素来提取名称
for file in lst_obj["contents"]:
name = file["Key"].split("/")[-1]
推荐阅读
- awk - 为什么不能将 AWK 程序作为 heredoc 读取
- python - 如何使用当前时间戳测试 pandas DataFrame
- php - 根据国家/地区重定向,但如果 IP 被列入白名单则允许
- sql-server - SQL Server 服务帐户密码
- elasticsearch - query_string 在 ES 7.7 中未返回预期结果
- c - 如何将值从 c++ 发送到使用 RS232 通信的 Atmega128A?
- php - Codeigniter insert_id 返回零,数据库已经是主数据库并自动递增
- django - 在 django 的 asynchttpconsumer 中发送 http 请求?
- web-accessibility - 升级到 ag grid 版本 23 后的辅助功能问题
- android - 如何在android中将db2日期转换为YYYMMDD