0

我正在尝试读取存储在 Google Cloud Storage 存储桶 python 中的文件:

textfile = open("${gcs_bucket}mdm/OFF-B/test.txt", 'r') 
times = textfile.read().splitlines() 
textfile.close() 
print(getcwd()) 
print(times)

该文件存在于该位置,但我收到以下错误:

File "/var/cache/tomcat/temp/interpreter-9196592956267519250.tmp", line 3, in <module>
  textfile = open("gs://tp-bi-datalake-mft-landing-dev/mdm/OFF-B/test.txt", 'r')
IOError: [Errno 2] No such file or directory: 'gs://tp-bi-datalake-mft-landing-dev/mdm/OFF-B/test.txt'
4

1 回答 1

3

那是因为您试图将其作为本地文件读取。

要从 Cloud Storage 读取,您需要导入库并使用客户端。

检查这个类似的Stackoverflow 问题

在您的情况下,它将类似于:

from google.cloud import storage

# Instantiates a client
client = storage.Client()

bucket_name = 'tp-bi-datalake-mft-landing-dev'

bucket = client.get_bucket(bucket_name)

blob = bucket.get_blob('mdm/OFF-B/test.txt')

downloaded_blob = blob.download_as_string()

print(downloaded_blob)

您还需要安装库,只需运行以下命令即可:

pip install google-cloud-storage在运行代码之前。

您还可以在这里找到更多Google Cloud Storage Python 示例

于 2019-04-29T15:11:30.763 回答