Python 使用具有动态Foldername的boto3在S3中上载文件

Python 使用具有动态Foldername的boto3在S3中上载文件,python,amazon-s3,amazon-ec2,boto3,Python,Amazon S3,Amazon Ec2,Boto3,我有4个S3桶: SourceBucket\folder1\file1和DestinationBucket1-folder1, SourceBucket\folder2\file1和DestinationBucket2-folder2。 当我上传文件夹时,我希望代码检查文件夹 “DestinationBucket1-folder1”(如果存在),然后上载该文件夹下的folder1和文件 我正在努力学习S3键。如何解析S3键并检查特定文件夹是否存在,然后在SourceBucket下上载第一个文件夹

我有4个S3桶: SourceBucket\folder1\file1和DestinationBucket1-folder1, SourceBucket\folder2\file1和DestinationBucket2-folder2。 当我上传文件夹时,我希望代码检查文件夹 “DestinationBucket1-folder1”(如果存在),然后上载该文件夹下的folder1和文件


我正在努力学习S3键。如何解析S3键并检查特定文件夹是否存在,然后在SourceBucket下上载第一个文件夹?

如果不存在,下面的代码将创建文件夹并上载文件:

s3 = boto3.resource('s3', region_name='us-east-2', aws_access_key_id=access_id, aws_secret_access_key=access_key)
s3.meta.client.upload_file(filePath, backet-name, str(foldername) + "/" + str(sub-foldername) + "/" + filename)

谢谢Yajana。如果s3.lookup(DestinationBucket1-folder1)为None:bucket=s3.create_bucket,则“DestinationBucket”+“-”str(foldername)将抛出正则表达式错误(DestinationBucket1-folder1)#Bucket不存在其他:Bucket=s3。获取#Bucket(DestinationBucket1-folder1)#Bucket存在您可以提供代码示例吗