可以使用 boto3 模块来实现该功能。下面是一个示例代码:
import boto3
s3 = boto3.resource('s3')
bucket = s3.Bucket('your-bucket-name')
folder_name = 'your-folder-name'
def check_folder_exists(bucket, folder_name):
for obj in bucket.objects.filter(Prefix=folder_name+'/'):
return True
return False
def create_folder(bucket, folder_name):
bucket.put_object(Key=(folder_name+'/'))
if not check_folder_exists(bucket, folder_name):
create_folder(bucket, folder_name)
首先引入 boto3
模块并创建 s3 资源。
然后设置 S3 存储桶的名称和文件夹名称。
check_folder_exists
函数通过筛选前缀来检查文件夹是否存在。
create_folder
函数通过上传空文件的方式来创建文件夹。
最后,我们可以通过检查文件夹是否存在,来选择是否创建文件夹。
注意事项:
S3 没有真正的文件夹,只是通过 Key
的前缀来模拟文件夹。
S3 不支持在存储桶根目录下创建文件夹,需要在一个已存在的文件夹下创建。
对于 Python2.x,请将 print
语句括号中的内容改为字符串,即在括号中加上引号 " "
。