Google Cloud Storage Python list_blob()不打印对象列表

时间:2016-09-30 05:25:12

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

我是Python和Google Cloud Storage的新手。 我正在编写一个python脚本,使用Google Cloud Python Client Library从Google Cloud Storage存储桶中获取文件列表,Bucket类中的list_blobs()函数无法正常工作。

https://googlecloudplatform.github.io/google-cloud-python/stable/storage-buckets.html

这是我的python代码:

from google.cloud import storage
from google.cloud.storage import Blob

client = storage.Client.from_service_account_json(service_account_json_key_path, project_id)
bucket = client.get_bucket(bucket_id)
print(bucket.list_blobs())

如果我理解文档正确,print(bucket.list_blobs())应该打印如下:[' testfile.txt',' testfile2.txt']。

但是,我的脚本打印了这个: " google.cloud.storage.bucket._BlobIterator对象位于0x7fdfdbcac590"

delete_blob()文档的示例代码与我的相同。 https://googlecloudplatform.github.io/google-cloud-python/stable/storage-buckets.html

我不确定我在这里做错了什么。 任何指针/示例/答案将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:3)

示例列表功能:

def list_blobs(bucket_name):
    """Lists all the blobs in the bucket."""
    storage_client = storage.Client()
    bucket = storage_client.get_bucket(bucket_name)

    blobs = bucket.list_blobs()

    for blob in blobs:
        print(blob.name)

答案 1 :(得分:0)

如果你看到了什么:

for blob in bucket.list_blobs():
    print(blob)
    print(blob.name)