Python 你能列出S3存储桶中的所有文件夹吗?

Python 你能列出S3存储桶中的所有文件夹吗?,python,amazon-s3,boto,Python,Amazon S3,Boto,我有一个包含多个文件夹的存储桶,每个文件夹包含多个图像。是否可以列出所有文件夹,而无需遍历bucket中的所有键(文件夹和图像)。我正在使用Python和boto 您可以使用空前缀(第一个参数)和文件夹分隔符(第二个参数)来实现您的要求: s3conn = boto.connect_s3(access_key, secret_key, security_token=token) bucket = s3conn.get_bucket(bucket_name) folders = bucket.li

我有一个包含多个文件夹的存储桶,每个文件夹包含多个图像。是否可以列出所有文件夹,而无需遍历bucket中的所有键(文件夹和图像)。我正在使用Python和boto

您可以使用空前缀(第一个参数)和文件夹分隔符(第二个参数)来实现您的要求:

s3conn = boto.connect_s3(access_key, secret_key, security_token=token)
bucket = s3conn.get_bucket(bucket_name)
folders = bucket.list('', '/')
for folder in folders:
    print folder.name
备注:
在S3中没有“文件夹”这样的东西。你所拥有的只是桶和对象

对象表示文件。当你给一个文件命名时:
文件夹名/文件名
看起来就像是一个文件:
文件名
驻留在文件夹中:
文件夹名
——但实际上没有“文件夹”这样的东西


您也可以使用AWS CLI(命令行界面):
命令
s3ls
将仅列出存储桶第一级中的“文件夹”。

是!可以使用键的前缀和分隔符列出。请查看以下文档


我认为这在这里得到了很好的回答: