如何从Amazon S3存储桶删除文件?

167 投票
22 回答
277776 浏览
提问于 2025-04-16 00:34

我需要写一段Python代码来删除亚马逊S3存储桶中的一个文件。我已经能连接到亚马逊S3存储桶,并且可以保存文件,但我该怎么删除一个文件呢?

22 个回答

95

发现了另一种使用boto的方法:

from boto.s3.connection import S3Connection, Bucket, Key

conn = S3Connection(AWS_ACCESS_KEY, AWS_SECERET_KEY)

b = Bucket(conn, S3_BUCKET_NAME)

k = Key(b)

k.key = 'images/my-images/'+filename

b.delete_key(k)
155

使用Python的boto3 SDK(假设你已经设置好了AWS的凭证),下面的代码可以删除一个指定的对象(文件)在某个存储桶里:

import boto3

client = boto3.client('s3')
client.delete_object(Bucket='mybucketname', Key='myfile.whatever')
178

使用 boto3(当前版本是1.4.4),可以使用 S3.Object.delete() 方法来删除对象。

import boto3

s3 = boto3.resource('s3')
s3.Object('your-bucket', 'your-key').delete()

撰写回答