gpt4 book ai didi

python - 如何在笔记本中遍历 Google 存储桶的路径?

转载 作者:太空宇宙 更新时间:2023-11-03 19:45:06 28 4
gpt4 key购买 nike

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

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

#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 文件,因此我使用这段代码来列出存储桶中的对象:

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 库加载这些数据呢?顺便说一句,文件夹由许多文件夹组成,其中有更多文件夹,然后存储文件(其他文件夹中的每个文件)。

最佳答案

通过使用 list_blobs 迭代所有 blob,您只是获得对 Cloud Storage 中数据存在位置的引用 - 之间没有传输任何实际图像数据GCS 和您的脚本。

如果您想加载类似 nilearn.image.load_img 的图像,您需要一个本地 .nii 文件的路径,因此您需要执行以下操作:

for blob in blobs:
local_filename = '/tmp/' + blob.name
blob.download_to_filename(local_filename)
nilearn.image.load_img(local_filename)

关于python - 如何在笔记本中遍历 Google 存储桶的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60189297/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com