如何使用Python在GCS中没有路由的情况下在子文件夹中获取文件名?

时间:2019-11-15 13:56:18

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

我有一个带有很多子文件夹的存储桶,我使用此函数获取blob,但我需要获取文件名该怎么办?

{
    "error": "invalid_token",
    "error_description": "e2f95093-085c-4b59-90a5-c89fb5d1eccb"
}

我需要获取不带文件夹路径的文件名,才能在另一个函数中使用它,该函数会尝试下载文件并将其放在临时文件夹中。

1 个答案:

答案 0 :(得分:0)

此脚本将为您提供一个列表,其中仅包含存储桶中的文件名,而没有文件夹/子文件夹/路由

from google.cloud import storage


client = storage.Client()
BUCKET_NAME = 'thehotbucket'
bucket = client.get_bucket(BUCKET_NAME)

blobs = bucket.list_blobs()

for blob in blobs:
    try:
        num = blob.name.count('/')
        string = blob.name.split('/')[num]
        if string != "":
            print(string)
    except:
        print("An exception occurred")