如何从Google Cloud Storage读取文本文件到Python并获取内容?
解决Google Cloud Storage文件内容读取问题
嘿,你已经快搞定啦!问题出在你调用download_as_string的时候没加括号——你现在打印的是这个方法本身的引用,而不是执行它后得到的文件内容。
修正后的代码示例
按照你本地读取文件的逻辑,我们可以这样调整:
from google.cloud import storage # 初始化客户端、获取存储桶和Blob对象 client = storage.Client() bucket = client.get_bucket('test_bucket') blob = bucket.get_blob('temp_files_folder/test.txt') # 方式1:下载字节串后解码为字符串 file_content = blob.download_as_string().decode('utf-8') # 按行分割,和本地读取逻辑一致 times = file_content.splitlines() print(times) # 输出:['hej', 'san']
更简洁的替代方法
GCS的Python SDK还提供了download_as_text()方法,直接返回字符串,不用手动解码,代码更清爽:
from google.cloud import storage client = storage.Client() bucket = client.get_bucket('test_bucket') blob = bucket.get_blob('temp_files_folder/test.txt') file_content = blob.download_as_text() times = file_content.splitlines() print(times) # 同样输出:['hej', 'san']
关键提醒
- 如果你文件用了非UTF-8编码(比如GBK),记得给
decode()或download_as_text()指定编码参数,比如download_as_text(encoding='gbk') - 确保你的GCS客户端已经正确配置了权限,能访问目标存储桶和文件
内容的提问来源于stack exchange,提问作者digestivee
相关产品推荐
相关产品推荐

