python-3.x – 如何使用Python访问存储桶GCS的子文件夹中的文件?

python-3.x – 如何使用Python访问存储桶GCS的子文件夹中的文件?,第1张

概述from google.cloud import storageimport osbucket = client.get_bucket('path to bucket') 上面的代码将我连接到我的桶,但我很难连接到桶中的特定文件夹. 我正在尝试此代码的变体,但没有运气: blob = bucket.get_blob("training/bad")blob = bucket.get_blob(
from Google.cloud import storageimport osbucket = clIEnt.get_bucket('path to bucket')

上面的代码将我连接到我的桶,但我很难连接到桶中的特定文件夹.

我正在尝试此代码的变体,但没有运气:

blob = bucket.get_blob("training/bad")blob = bucket.get_blob("/training/bad")blob = bucket.get_blob("path to bucket/training/bad")

我希望能够访问坏子文件夹中的图像列表,但我似乎无法这样做.
尽管阅读了文档,我甚至都不完全理解blob是什么,而是基于教程来实现它.

谢谢.

解决方法 如果要查找特定前缀(子目录)下存在的blob(文件),可以为 list_blobs()函数指定前缀和分隔符参数

请参阅以下来自Google Listing Objects example(也是GitHub snippet)的示例

def List_blobs_with_prefix(bucket_name,prefix,delimiter=None):    """Lists all the blobs in the bucket that begin with the prefix.    This can be used to List all blobs in a "folder",e.g. "public/".    The delimiter argument can be used to restrict the results to only the    "files" in the given "folder". Without the delimiter,the entire tree under    the prefix is returned. For example,given these blobs:        /a/1.txt        /a/b/2.txt    If you just specify prefix = '/a',you'll get back:        /a/1.txt        /a/b/2.txt    However,if you specify prefix='/a' and delimiter='/',you'll get back:        /a/1.txt    """    storage_clIEnt = storage.ClIEnt()    bucket = storage_clIEnt.get_bucket(bucket_name)    blobs = bucket.List_blobs(prefix=prefix,delimiter=delimiter)    print('Blobs:')    for blob in blobs:        print(blob.name)    if delimiter:        print('Prefixes:')        for prefix in blobs.prefixes:            print(prefix)
总结

以上是内存溢出为你收集整理的python-3.x – 如何使用Python访问存储桶GCS的子文件夹中的文件?全部内容,希望文章能够帮你解决python-3.x – 如何使用Python访问存储桶GCS的子文件夹中的文件?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1192232.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存