欢迎访问宙启技术站
智能推送

Python中使用S3Connection()获取S3存储桶中的文件列表

发布时间:2024-01-16 16:23:03

在Python中,要获取S3存储桶中的文件列表,可以使用S3Connection()类。以下是使用boto3库进行S3连接和获取文件列表的示例代码:

import boto3

# 创建S3连接
s3 = boto3.resource('s3')

# 获取存储桶对象
bucket = s3.Bucket('your_bucket_name')

# 获取存储桶中的所有文件
objects = bucket.objects.all()

# 打印文件列表
for obj in objects:
    print(obj.key)

请确保在运行此代码之前已经正确安装了boto3库,并替换示例代码中的your_bucket_name为实际的存储桶名称。

通过以上代码,您将能够获取并打印出指定S3存储桶中的所有文件的键(即文件路径)。根据您的需求,您可以选择打印更多文件相关的属性,例如文件大小、最后修改时间等。

另外,如果您希望只获取存储桶中的某个文件夹下的文件列表,可以在获取存储桶对象之后,使用filter()函数来筛选指定文件夹路径下的文件,示例代码如下:

import boto3

# 创建S3连接
s3 = boto3.resource('s3')

# 获取存储桶对象
bucket = s3.Bucket('your_bucket_name')

# 获取存储桶中指定文件夹路径下的文件
folder_path = 'your_folder_path'  # 替换为实际文件夹路径
objects = bucket.objects.filter(Prefix=folder_path)

# 打印文件列表
for obj in objects:
    print(obj.key)

通过设置filter()函数的Prefix参数为指定的文件夹路径,可以获取该文件夹下的文件列表。

总结起来,使用S3Connection()类可以轻松获取S3存储桶中的文件列表。通过结合boto3库提供的功能,您可以根据自己的需求对获取的文件进行进一步的处理和操作。