在Python中的Google Cloud Platform存储桶中遍历目录树

时间:2018-07-06 16:51:24

标签: python google-cloud-platform google-cloud-storage

对于本地计算机上的目录,os.walk()方法通常用于在Python中遍历目录树。

Google有一个Python模块(google.cloud.storage),可以在本地运行的Python脚本中向GCP存储桶中进行上传和下载。

我需要一种在GCP存储桶中遍历目录树的方法。我浏览了google.cloud Python模块中的类,但是找不到任何东西。是否可以在GCP存储桶中的目录上执行类似于os.walk()的操作?

2 个答案:

答案 0 :(得分:3)

GCS库中不存在此类功能。但是,GCS可以按前缀列出对象,这通常是等效的:

from google.cloud import storage

bucket = storage.Client().get_bucket(bucket_name)
for blob in bucket.list_blobs(prefix="dir1/"):
  print(blob.name)

答案 1 :(得分:0)

import os
from google.cloud import storage

client = storage.Client()
bucket = client.get_bucket('bucket_name')

for blob in bucket.list_blobs(prefix=''):
   # Download the file
    with open(blob.name, 'wb') as file_obj:
        client.download_blob_to_file(blob, file_obj)

   # You logic on the file
   # logic goes here

   # Remove the local file
   os.remove(blob.name)