首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在notebook中浏览google bucket的路径?

如何在notebook中浏览google bucket的路径?
EN

Stack Overflow用户
提问于 2020-02-12 21:18:20
回答 1查看 178关注 0票数 1

我在zip文件中有一个很大的图像数据集。我想列出所有的文件,以便我可以使用它们。

一段时间后,我开始使用谷歌云平台,并将我的数据上传到存储桶中。在本地工作时,我使用这段代码来查找数据集中所有文件的文件名。我想做一些类似的事情,这样我就可以在我的笔记本中加载图像。

代码语言:javascript
复制
#files directory in list 
matches = []
for root, dirnames, filenames in os.walk("D:\LH\..."):
    for filename in fnmatch.filter(filenames, '*.nii'):
        matches.append(os.path.join(root, filename)) 

print(matches[0])

由于我的数据集被分成10个不同的zip文件,因此我使用下面这段代码来列出存储桶中的对象:

代码语言:javascript
复制
from google.cloud import storage


def list_blobs(bucket_name):
    """Lists all the blobs in the bucket."""
    # bucket_name = "your-bucket-name"

    storage_client = storage.Client()

    # Note: Client.list_blobs requires at least package version 1.17.0.
    blobs = storage_client.list_blobs(bucket_name)

    for blob in blobs:
        print(blob.name)

bloblist = list_blobs('adni_data')

这给了我一个列表,上面有我的文件所在的文件夹。但是我如何使用nilearn库加载这些数据呢?顺便说一句,文件夹由多个文件夹组成,其中包含更多文件夹,在这些文件夹之后,文件将被存储(其他文件夹中的每个文件)。

EN

回答 1

Stack Overflow用户

发布于 2020-02-13 00:56:24

通过使用list_blobs迭代所有的blobs,您只是获得了数据在云存储中的位置的引用--没有实际的图像数据在GCS和您的脚本之间传输。

如果您希望使用nilearn.image.load_img之类的内容加载图像,则需要本地.nii文件的路径,因此您需要执行以下操作:

代码语言:javascript
复制
for blob in blobs:
    local_filename = '/tmp/' + blob.name
    blob.download_to_filename(local_filename)
    nilearn.image.load_img(local_filename)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60189297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档