You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何筛选单个GCS文件夹?解决删除时误删前缀匹配文件夹问题

精准删除GCS中指定文件夹的解决方案

问题原因

原代码使用 prefix='Sample' 会模糊匹配所有以 Sample 开头的对象路径,比如 Sample1/file.txt、Sample2/image.jpg 这类不属于目标文件夹的内容也会被误删。这是因为GCS的虚拟文件夹依赖路径中的 / 区分,不带斜杠的前缀会匹配所有前缀一致的路径。

修正代码

from google.cloud import storage

storage_client = storage.Client()
bucket = storage_client.get_bucket('bucket name')

# 删除Sample文件夹下的所有子对象
blobs = bucket.list_blobs(prefix='Sample/')
for blob in blobs:
    blob.delete()

# 删除Sample文件夹的占位符(若存在)
folder_blob = bucket.blob('Sample')
if folder_blob.exists():
    folder_blob.delete()

关键说明

  • 精准前缀设置:用 prefix='Sample/' 替代原前缀,只会匹配路径以 Sample/ 开头的对象,也就是目标文件夹下的所有内容,不会触及 Sample1、Sample2 这类同名开头的其他文件夹。
  • 处理文件夹占位符:GCS中手动创建的文件夹会生成一个名为 Sample 的空blob(用于在控制台显示文件夹),需要单独检查并删除,否则存储桶中仍会残留空文件夹标识。

内容的提问来源于stack exchange,提问作者NMB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 11:12:21