Python 如何检查给定s3存储桶中是否存在给定目录或文件夹,如果存在,如何从s3中删除该文件夹?
我想检查给定s3存储桶中是否存在文件夹或目录,如果存在,我想使用python代码从s3存储桶中删除文件夹 示例:Python 如何检查给定s3存储桶中是否存在给定目录或文件夹,如果存在,如何从s3中删除该文件夹?,python,python-3.x,amazon-s3,boto,boto3,Python,Python 3.x,Amazon S3,Boto,Boto3,我想检查给定s3存储桶中是否存在文件夹或目录,如果存在,我想使用python代码从s3存储桶中删除文件夹 示例:s3:/bucket124/test 这里“bucket124”是bucket,“test”是包含一些文件的文件夹,如test.txt test1.txt 我想从我的s3存储桶中删除文件夹“test”。以下是您将如何执行此操作 import boto3 s3 = boto3.resource('s3') bucket=s3.Bucket('mausamrest'); obj = s3
s3:/bucket124/test
这里“bucket124
”是bucket,“test”是包含一些文件的文件夹,如test.txt test1.txt
我想从我的s3存储桶中删除文件夹“
test
”。以下是您将如何执行此操作
import boto3
s3 = boto3.resource('s3')
bucket=s3.Bucket('mausamrest');
obj = s3.Object('mausamrest','test/hello')
counter=0
for key in bucket.objects.filter(Prefix='test/hello/'):
counter=counter+1
if(counter!=0):
obj.delete()
print(counter)
mausamrest是存储桶,test/hello/是要检查项目的目录,但是请注意一件事,在检查之后,您必须删除test/hello而不是test/hello/来删除特定的子文件夹,因此第5行中的键名是test/hello您尝试了什么?它在哪里失败了?从botocore导入boto3.errorfactory从boto.s3导入ClientError.connection导入S3Connection,Bucket,Key s3=boto3.client('s3',aws_access_Key_id='AKIA',aws_secret_access_Key='vfEn')try:Bucket=Bucket('AKIA',vfEn')s3 head object(Bucket='Bucket='Bucket 124',Key='test k=boto3.Key(bucket=bucket124,name='test')k.delete()除了ClientError:print(“未找到文件”)我尝试了上面的代码将其编辑到您的问题中。如果您需要实际帮助,请考虑将
for
-的obj
重命名为其他名称,以避免混淆。您确定此方法不会受到所述问题的困扰吗(例如,像test/hello这样的路径不应该被删除/
也被删除)?