file_name = "r1.csv"
client = storage.Client()
bucket = client.get_bucket('upload-testing')
blob = bucket.get_blob(file_name)
blob.download_to_filename("csv_file")
要以只读模式打开r1.csv文件。 遇到此错误
with open(filename, 'wb') as file_obj:
Error: [Errno 30] Read-only file system: 'csv_file'
因此,函数download_to_filename在wb
模式下打开文件有什么方法可以让我以只读模式打开r1.csv
答案 0 :(得分:1)
如上一个答案中所述,您需要使用r
模式,但是由于这是默认模式,因此无需指定。
为了能够读取文件本身,您需要先下载文件,然后读取其内容并根据需要处理数据。以下示例将GCS文件下载到一个临时文件夹,打开该下载的对象并获取其所有数据:
storage_client = storage.Client()
bucket = storage_client.get_bucket("<BUCKET_NAME>")
blob = bucket.blob("<CSV_NAME>")
blob.download_to_filename("/tmp/test.csv")
with open("/tmp/test.csv") as file:
data = file.read()
<TREAT_DATA_AS_YOU_WISH>
该示例被认为可以在GAE内部运行。
答案 1 :(得分:0)
如果要打开只读文件,则应使用'r'
模式,'wb'
的意思是write binary
:
with open(filename, 'r') as file_obj: