Python : 在 google 云存储中将所有文件读取为 gcs_uri
Python : Read all files as gcs_uri in google cloud storage
我是 google 云平台的新手,我遇到了这个问题:在我的 google 存储桶中,我有 5 个文件夹,每个文件夹包含 100 个音频文件 (.wav),我想要访问其中的每一个,然后将语音转换为文本。
我已经成功地使用 google 的语音转文本 api 完成了第二部分,但仅适用于特定的 gcs_uri 路径:
(例如 gcs_uri ="gs://my_bucket/1/6965842449357946277.wav"
)
我希望能够将所有 500 个 wav 文件用作 gcs_uri,但我不确定如何通过遍历每个存储桶中的每个 wav 文件来做到这一点。到目前为止我试过了:
from google.cloud import speech_v1p1beta1 as speech
from google.cloud import storage
os.environ["GOOGLE_APPLICATION_CREDENTIALS"]="C:/Users/me/project/key.json"
client = speech.SpeechClient()
bucket1 = storage.Client().bucket("gs://my_bucket/1")
bucket2 = storage.Client().bucket("gs://my_bucket/2")
bucket3 = storage.Client().bucket("gs://my_bucket/3")
bucket4 = storage.Client().bucket("gs://my_bucket/4")
bucket5 = storage.Client().bucket("gs://my_bucket/5")
print("Bucket name: {}".format(bucket1))
blobs = bucket1.list_blobs()
print("Blob name: {}".format(blobs))
*** Bucket name: <Bucket: gs://my_bucket/1>
*** Blob name: <google.api_core.page_iterator.HTTPIterator object at 0x000002283FC4AAF0> *
有人能帮忙吗?
创建一个传递存储桶名称的函数,然后使用 list_blobs 方法进行迭代,示例:
def hello_gcs(bucket_name):
client = storage.Client()
bucket = client.bucket(bucket_name)
blobs = client.list_blobs(bucket_name)
for blob in blobs:
blob = bucket.get_blob(blob.name)
if blob.name.endswith('.wav'):
print("Blob name is {}".format(blob.name))
我是 google 云平台的新手,我遇到了这个问题:在我的 google 存储桶中,我有 5 个文件夹,每个文件夹包含 100 个音频文件 (.wav),我想要访问其中的每一个,然后将语音转换为文本。
我已经成功地使用 google 的语音转文本 api 完成了第二部分,但仅适用于特定的 gcs_uri 路径:
(例如 gcs_uri ="gs://my_bucket/1/6965842449357946277.wav"
)
我希望能够将所有 500 个 wav 文件用作 gcs_uri,但我不确定如何通过遍历每个存储桶中的每个 wav 文件来做到这一点。到目前为止我试过了:
from google.cloud import speech_v1p1beta1 as speech
from google.cloud import storage
os.environ["GOOGLE_APPLICATION_CREDENTIALS"]="C:/Users/me/project/key.json"
client = speech.SpeechClient()
bucket1 = storage.Client().bucket("gs://my_bucket/1")
bucket2 = storage.Client().bucket("gs://my_bucket/2")
bucket3 = storage.Client().bucket("gs://my_bucket/3")
bucket4 = storage.Client().bucket("gs://my_bucket/4")
bucket5 = storage.Client().bucket("gs://my_bucket/5")
print("Bucket name: {}".format(bucket1))
blobs = bucket1.list_blobs()
print("Blob name: {}".format(blobs))
*** Bucket name: <Bucket: gs://my_bucket/1>
*** Blob name: <google.api_core.page_iterator.HTTPIterator object at 0x000002283FC4AAF0> *
有人能帮忙吗?
创建一个传递存储桶名称的函数,然后使用 list_blobs 方法进行迭代,示例:
def hello_gcs(bucket_name):
client = storage.Client()
bucket = client.bucket(bucket_name)
blobs = client.list_blobs(bucket_name)
for blob in blobs:
blob = bucket.get_blob(blob.name)
if blob.name.endswith('.wav'):
print("Blob name is {}".format(blob.name))