最近更新时间:2026-07-14 10:52:12
以下代码用于删除单个文件:
from ks3.connection import Connection
# 金山云主账号AccessKey拥有所有API的访问权限,风险很高。
# 强烈建议您创建并使用子账号进行API访问或日常运维,请登录https://uc.console.ksyun.com/pro/iam/#/user/list创建子账号。
# 通过指定host(Endpoint),您可以在指定的地域使用存储空间。
c = Connection('<YOUR_ACCESS_KEY>', '<YOUR_SECRET_KEY>', host='<YOUR_REGION_ENDPOINT>')
# 获取存储空间实例
b = c.get_bucket('<YOUR_BUCKET_NAME>')
# 删除文件。<yourKeyName>表示删除KS3文件时需要指定包含文件后缀在内的完整路径。如 images/test.jpg
try:
ret = b.delete_key('<yourKeyName>')
print("删除成功, request_id: ", ret.response_metadata.request_id)
except KS3ServerError as e:
print("删除失败, request_id: ", e.request_id)
print(e)以下代码用于批量删除文件:
from ks3.connection import Connection
from ks3.prefix import Prefix
# 金山云主账号 AccessKey 拥有所有API的访问权限,风险很高。
# 强烈建议您创建并使用子账号进行 API 访问或日常运维,请登录 https://uc.console.ksyun.com/pro/iam/#/user/list 创建子账号。
# 通过指定 host(Endpoint),您可以在指定的地域创建新的存储空间。host(Endpoint) 以北京为例,其它 Region 请按实际情况填写。
conn = Connection('<yourAccessKeyId>', '<yourAccessKeySecret>', host='ks3-cn-beijing.ksyuncs.com')
# 获取存储空间实例
b = conn.get_bucket('<yourBucketName>')
# 前缀,以 '/' 结尾,避免误删前缀重叠的对象
prefix = 'prefix/'
# delimiter='' 列出前缀下所有对象(含子目录)
for k in b.list(prefix=prefix, delimiter=''):
# list 的结果里可能包含 Prefix(目录占位符),它不是真实对象,跳过
if isinstance(k, Prefix):
continue
# 执行删除操作
ret = b.delete_key(k.name)
# 打印需要的信息
print(f'delete {k.name}, request_id: {ret.response_metadata.request_id}, status: {ret.response_metadata.status}')
纯净模式
