📅  最后修改于: 2023-12-03 15:22:39.041000             🧑  作者: Mango
当你在使用 Amazon S3 时,有时需要列出某个文件夹中的文件名称,以便在应用程序或脚本中使用这些文件名称。在Python中,可以使用 boto3 库来实现。
在使用 Python 脚本访问 Amazon S3 访问之前,需要安装和配置以下软件:
下面是一个简单的 Python 脚本,它使用 boto3 库实现了列出 S3 文件夹中的文件名称功能。
import boto3
# 创建 S3 客户端
s3 = boto3.client('s3')
# 列出 bucket 中指定前缀的所有对象
def list_files(bucket_name, prefix):
response = s3.list_objects_v2(Bucket=bucket_name, Prefix=prefix)
for content in response.get("Contents", []):
print(content["Key"])
# 以 bucket_name 为名的 S3 存储桶中,列出指定前缀的所有文件
bucket_name = "bucket-name"
prefix = "folder-name/"
list_files(bucket_name, prefix)
代码说明:
boto3.client('s3')
创建 S3 客户端。list_files
函数,参数为存储桶名称和要列出的文件夹前缀(例如 folder-name/
)。s3.list_objects_v2
方法,根据存储桶名称和前缀列出所有的对象。print
函数打印出所有文件的名称。如果代码正确执行,它将输出 S3 文件夹中的所有文件名。如果存在多个文件,输出顺序可能不能保证。通常情况下,会按对象字典序排序。下面是一些样例输出:
folder-name/file1.txt
folder-name/file2.json
folder-name/file3.py
通过使用 Python 和 boto3 库,可以很容易地列出 S3 文件夹中的文件名称。这个例子只是一个简单的示例,你可以根据自己的需求来修改代码。值得一提的是,如果你需要用 Python 处理大文件时,还可以考虑使用 S3 Select 来提高代码的性能。