为什么通过VS Code连接的Google Colab内核无法访问本地机器文件?
解决VS Code连接Colab内核后无法读取本地文件的问题
嘿,我完全懂你碰到的这个麻烦——当你用VS Code连接Colab内核时,你的代码其实是跑在Google云端的服务器上,而不是你自己的本地电脑!这就是为啥你本地能正常运行的文件读取代码,到Colab内核里就失效了——云端服务器根本没法直接访问你本地的文件系统呀。
下面给你几个实用的解决方案,按需选就行:
1. 手动上传本地文件到Colab云端
你可以直接把本地的sample.txt上传到Colab的文件系统里:
- 如果是在Colab网页界面,点击左侧文件面板的「上传」按钮,选本地文件就行;
- 如果是在VS Code里,打开Colab的文件浏览器,同样找到上传选项把文件传上去。
上传完成后,Colab里的默认存储路径是/content/,如果你的文件在sample_data文件夹里,代码改成这样就能读取了:
with open("/content/sample_data/sample.txt", 'r') as file: content = file.readlines() print(content)
2. 用代码直接上传本地文件
不想手动点来点去?可以用Colab自带的文件上传API,在代码里完成本地文件上传:
from google.colab import files # 这行代码会弹出一个文件选择框,让你选本地的sample.txt uploaded = files.upload() # 上传完成后直接读取文件 with open("sample.txt", 'r') as file: content = file.readlines() print(content)
3. 挂载Google Drive同步文件
如果你的文件存在Google Drive里,或者想长期同步本地和云端的文件,把Drive挂载到Colab是个好办法:
from google.colab import drive # 执行这行会弹出授权链接,按提示完成授权即可挂载 drive.mount('/content/drive') # 假设你的文件在Drive的sample_data文件夹下,路径是这样的 with open("/content/drive/MyDrive/sample_data/sample.txt", 'r') as file: content = file.readlines() print(content)
核心记住一点:Colab内核的运行环境是云端,和你的本地机器是完全独立的两个系统,必须把文件放到云端能访问的位置,代码才能读到哦~
内容的提问来源于stack exchange,提问作者Mahir Tanzim
相关产品推荐
相关产品推荐

