对于本地计算机上的目录,os.walk()
方法通常用于在Python中遍历目录树。
Google有一个Python模块(google.cloud.storage
),可以在本地运行的Python脚本中向GCP存储桶中进行上传和下载。
我需要一种在GCP存储桶中遍历目录树的方法。我浏览了google.cloud
Python模块中的类,但是找不到任何东西。是否可以在GCP存储桶中的目录上执行类似于os.walk()
的操作?
答案 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)