在colab上写的python代码很多时候都有读取文件的需求,本以为将文件直接上传到Google Drive上就可以直接读取,但后来发现两个根本不在一套系统里。colab是每次启动的时候都会随机分配一个新的虚拟机给你,所以数据都不能保存
挂载云端硬盘
from google.colab import drive
drive.mount('/content/drive/')
import os
os.chdir("/content/drive/My Drive/[文件夹]")
现用现传
Colaboratory,以下简称colab。相当于一个云端的带GPU的jupyter
上传文件
调用colab的库,运行的时候手动选择要上传的文件
from google.colab import files
uploaded = files.upload()
file_name = uploaded.keys()
print(file_name)
运行效果见下图
图中我选择了两个文件,upload函数返回值是一个字典,key为文件名,value是文件内容,file_name输出结果如下
dict_keys([‘感知器数据.csv’, ‘课表.xlsx’])
因为在python3中返回的key值不再直接是一个list了,所以无法直接索引。解决方法是强制类型转换为list,就可以索引了(这样我才能指定读第几个文件)
file_list = list(file_name)
print(file_list)
输出是
[‘感知器数据.csv’, ‘课表.xlsx’]
下载文件
from google.colab import files
with open('123.txt', 'w') as f:
f.write('some content')
files.download('123.txt')
参考: