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

如何使用Python将同一GCS存储桶内的文件复制到同桶其他目录

同GCS存储桶内文件复制Python实现

前置准备

  • 安装GCS官方Python SDK:pip install google-cloud-storage
  • 完成GCP身份认证:可通过设置环境变量GOOGLE_APPLICATION_CREDENTIALS为服务账号JSON密钥路径,本地开发时也可执行gcloud auth application-default login完成认证。

实现代码

from google.cloud import storage

def copy_files_in_same_bucket():
    # 初始化GCS客户端
    storage_client = storage.Client()
    # 替换为你的实际存储桶名称
    bucket_name = "your-bucket-name"
    bucket = storage_client.bucket(bucket_name)
    
    # 需要复制的源文件列表(桶根目录下的文件名)
    source_files = ["File1.jpg", "File2.jpg"]
    # 目标文件夹路径
    target_folder = "Folder1"

    for file_name in source_files:
        # 构造源文件Blob对象
        source_blob = bucket.blob(file_name)
        # 构造目标文件完整路径
        target_blob_path = f"{target_folder}/{file_name}"
        # 执行复制操作,默认保留源文件
        bucket.copy_blob(source_blob, bucket, target_blob_path)
        print(f"文件 {file_name} 已成功复制到 {target_blob_path}")

if __name__ == "__main__":
    copy_files_in_same_bucket()

注意事项

  • 该操作不会删除源路径的文件,最终生成的目录结构完全符合要求。
  • 若需要复制的源文件不在桶根目录,直接修改source_files内的文件完整路径即可。
  • 单文件大小不超过5TB时可直接使用copy_blob方法,无需额外处理分片逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 16:42:02