3

我是 Python 和谷歌云存储的新手。我正在编写一个 python 脚本以使用 Google Cloud Python 客户端库从 Google Cloud Storage 存储桶获取文件列表,而 Bucket 类中的 list_blob() 函数没有按预期工作。

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 object at 0x7fdfdbcac590”

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

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

4

2 回答 2

11

一个示例列表函数:

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)
于 2016-09-30T14:29:07.193 回答
1

如果您:

for blob in bucket.list_blobs():
    print(blob)
    print(blob.name)
于 2016-09-30T05:36:59.513 回答