出于某种原因,我的回答只给出了空的方括号,即[],什么都没有发生。
这是我的代码:
session = boto3.Session(aws_access_key_id=awsaccesskey,aws_secret_access_key=awssecretkey,region_name='eu-west-1')
s3 = session.resource('s3')
b = s3.Bucket(s3bucket)
r = b.objects.filter(Prefix=s3path).delete()
return(r)
更新:根据John的建议,我尝试创建一个测试桶,但不幸的是,我收到了一个权限拒绝错误。所以我做了以下操作:
这次我确实收到了一个ResponseMetadata对象,而不是空括号。然而,我仍然感到困惑。我的HTTPStatusCode是200。但当它告诉我它删除了什么时,它说:
>
'删除':[{'Key':'/test/table_name.dat '}, {'Key':'/test/table_name.txt'}]}]
我想我不明白这段代码的预期功能。我希望它删除我在桶内作为根文件夹创建的空“测试”文件夹。即桶/test/,但它似乎在我的整个桶中搜索了名为“test”的文件夹并删除了其中的对象??
import boto3
s3 = boto3.resource('s3')
my_bucket = s3.Bucket('mybucket')
for obj in my_bucket.objects.all():
print(obj)
首先是一些指针:永远不要在boto3客户端对象中硬编码访问凭据。
S3中没有文件夹。相反,键形成一个平面名称空间。然而,名称中带有斜杠的键在某些程序中特别显示,包括AWS控制台(例如,请参见Amazon S3 boto-how to create a folder?)。
您可以(并且必须)按前缀列出文件并删除,而不是删除“目录”。本质上:
用于钥匙插入铲斗。list(prefix='your/directory/'):键。删除()
您可以参考此链接,这里捆绑了一个示例:https://docs.aws.amazon.com/code-samples/latest/catalog/python-s3-delete_object.py.html
import logging
import boto3
from botocore.exceptions import ClientError
def delete_object(bucket_name, object_name):
"""Delete an object from an S3 bucket
:param bucket_name: string
:param object_name: string
:return: True if the referenced object was deleted, otherwise False
"""
# Delete the object
s3 = boto3.client('s3')
try:
s3.delete_object(Bucket=bucket_name, Key=object_name)
except ClientError as e:
logging.error(e)
return False
return True
我使用php删除文件夹包含删除的帖子的图像。我正在使用下面的代码,我在网上找到的,做得很好。 我想知道当文件夹中有其他文件夹时,如何仅删除文件夹中的特定文件夹。 当我使用下面的代码时,如何做到这一点?使用:/dev/images/norman/8-
本文向大家介绍Python彻底删除文件夹及其子文件方式,包括了Python彻底删除文件夹及其子文件方式的使用技巧和注意事项,需要的朋友参考一下 我就废话不多说了,直接上代码吧! 以上这篇Python彻底删除文件夹及其子文件方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
问题内容: 如何在Python中删除本地文件夹的内容? 当前项目适用于Windows,但我也希望看到* nix。 问题答案:
问题内容: 如何在Python中删除文件或文件夹? 问题答案: 删除文件。 删除一个空目录。 删除目录及其所有内容。 模块中的对象还公开了这些实例方法: 删除文件或符号链接。 删除一个空目录。
问题内容: 我需要使用PHP删除包含内容的文件夹。和删除空文件夹,但无法删除包含内容的文件夹。 问题答案: 此功能将允许您删除任何文件夹(只要可写)及其文件和子目录。 或不递归使用:
本文向大家介绍如何使用Python删除隐藏的文件和文件夹?,包括了如何使用Python删除隐藏的文件和文件夹?的使用技巧和注意事项,需要的朋友参考一下 在Unix OS(OSX,Linux等)上,隐藏文件以“。”开头。因此我们可以使用简单的startwith check过滤掉它们。在Windows上,我们需要检查文件属性,然后确定文件/文件夹是否隐藏。 示例 例如,您可以使用以下代码删除所有隐藏文