python - 使用 Python 将文件夹上传到 Google Cloud Storage?

标签 python directory google-cloud-platform upload

我找到了 upload_from_file 和 upload_from_filename,但是是否有函数或方法可以通过 Python 将整个文件夹上传到 Cloud Storage?

最佳答案

这对我有用。将所有内容从本地目录复制到 Google 云存储中的特定存储桶名称/完整路径(递归):

import glob
from google.cloud import storage
import os

def upload_local_directory_to_gcs(local_path, bucket, gcs_path):
    assert os.path.isdir(local_path)
    for local_file in glob.glob(local_path + '/**'):
        if not os.path.isfile(local_file):
           upload_local_directory_to_gcs(local_file, bucket, gcs_path + "/" + os.path.basename(local_file))
    else:
        remote_path = os.path.join(gcs_path, local_file[1 + len(local_path):])
        blob = bucket.blob(remote_path)
        blob.upload_from_filename(local_file)


upload_local_directory_to_gcs(local_path, bucket, BUCKET_FOLDER_DIR)

关于python - 使用 Python 将文件夹上传到 Google Cloud Storage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56759262/

相关文章:

python - 在MacOS Sierra上安装opencv-3.1.0以与python一起使用

python - 在不同的列名上合并两个不同的数据框

python - Pandas : Get row from an ID which is a split of a column value

Java:在不指定目录的情况下访问文件

git - 如何在 Netbeans 中显示 .git 文件夹

google-cloud-platform - GCP Kubeflow 和 GCP cloud composer 有什么区别?

python - 改进获取时间和该函数的性能

winapi - 如何在没有监控线程或进程的情况下使用 C++ 快速获取目录是否已更改?

firebase - Firebase 项目的公共(public)设置去了哪里?

google-cloud-platform - Google Cloud Build 不会替换 cloudbuild.yaml 的 secrets 部分中的值