本文介绍如何删除文件。
警告 请您谨慎使用删除操作,文件一旦删除将无法恢复。
删除单个文件
以下代码用于删除单个文件:
# -*- coding: utf-8 -*- import oss2 # 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://console.cloud.tmall.com 创建RAM账号。 auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>') # Endpoint以杭州为例,其它Region请按实际情况填写。 bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '<yourBucketName>') # 删除文件。<yourObjectName>表示删除OSS文件时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg。 # 如需删除文件夹,请将<yourObjectName>设置为对应的文件夹名称。如果文件夹非空,则需要将文件夹下的所有object删除后才能删除该文件夹。 bucket.delete_object('<yourObjectName>')
删除多个文件
以下代码用于批量删除文件:
# 批量删除3个文件。每次最多删除1000个文件。 result = bucket.batch_delete_objects(['<yourObjectName-a>', '<yourObjectName-b>', '<yourObjectName-c>']) # 打印成功删除的文件名。 print('\n'.join(result.deleted_keys))
删除指定前缀(prefix)的文件
以下代码用于删除指定前缀的文件:
# -*- coding: utf-8 -*- import oss2 # 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://console.cloud.tmall.com 创建RAM账号。 auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>') # Endpoint以杭州为例,其它Region请按实际情况填写。 bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '<yourBucketName>') prefix = "<yourKeyPrefix>" # 删除指定前缀的文件。 for obj in oss2.ObjectIterator(bucket, prefix=prefix): bucket.delete_object(obj.key)