我是Python新手,没有Google Colab高级技术的经验。我一直在尝试编写一个 Python 代码,我想从我的 Google Drive 读取文本文件或 MATLAB 变量。然后我会对这些数据进行分析。 我按照这个 LINK 的答案来安装我的驱动器。我在下面提供我的代码和屏幕截图来详细说明。
我想要的数据文件(.txt 或 .mat)保存在我的 Google 云端硬盘中名为“Wave_Codes”的文件夹中。我在默认文件夹“Colab Notebooks”内创建了一个名为“CodeTesting”的文件夹。我在那里保存了 ipynb 代码。
from google.colab import drive
drive.mount('/content/drive', force_remount=True)
import sys
import os
path = os.path.abspath("/content/drive/MyDrive/Wave_Codes/")
sys.path.append(path)
运行此代码后,输出显示监控已完成。但是,我注意到文件浏览器(如下图 1 所示)未显示正在安装的驱动器。如果我将鼠标指针悬停在那里,它仍然显示单击安装。 图 1 这就是为什么我怀疑安装是否完成。当我运行代码时,它确实要求我验证我的谷歌登录和权限相关的内容。我确保我做对了。
接下来,如果我继续从文件中读取数据。它显示“找不到文件”错误(图 2)。 图 2 错误
我设法读取文件的唯一方法是将整个路径放入代码中。 图 3| ||那么,这里出了什么问题?安装是否正常?是不是路径没有设置的问题? 我该如何解决这个问题?
我尝试重置所有内容,关闭浏览器,后来打开“强制安装”选项。什么都没起作用。它显示挂载已完成,但文件浏览器中的文件夹徽标没有改变,并且我在读取文件时不断收到错误消息。我尝试读取一些简单的文本文件而不是 .mat 文件,但它仍然给我找不到文件错误。
更新:
运行安装和路径设置代码后,我按照建议运行
在评论中。这表明工作目录是“内容”(参见图 4)。
print(os.getcwd())
图 4:即使在安装后,工作目录也显示为“内容”。
这是否意味着安装一开始就不起作用?为什么会发生这种情况?我究竟做错了什么?
Does this mean the mount hasn't worked in the first place? Why is this happening? What am I doing wrong?
这个问题的原因在于你对 Google Colab 文件系统和
sys.path
的理解存在误区。让我们逐步解决这个问题,并提供一个解决方案:
理解问题:
-
Google Colab 中的挂载是暂时的: 当你使用
drive.mount('/content/drive')
时,你的 Google Drive 会被挂载到 Colab 虚拟机中。但是,这个挂载是暂时的,会在会话结束后消失。如果你关闭了 Colab 标签页或长时间不活动,则需要重新挂载。 -
工作目录: 你在 Colab 中运行代码的默认工作目录是
/content
。挂载 Google Drive 并不会改变你的工作目录。 -
sys.path
与文件路径:sys.path
是 Python 用来搜索模块的路径列表。将路径添加到sys.path
并不等同于在文件系统中导航到该路径。它只是告诉 Python 在哪里查找模块,而不是数据文件。
解决方案:
你可以使用绝对路径或相对于挂载点的路径来访问 Google Drive 中的文件,而不需要修改
sys.path
。以下是一个示例:
from google.colab import drive
drive.mount('/content/drive')
# 使用绝对路径
file_path = '/content/drive/MyDrive/Wave_Codes/your_file.txt'
# 或者,使用相对于挂载点的路径
file_path = 'drive/MyDrive/Wave_Codes/your_file.txt'
# 现在你可以打开文件并读取数据
with open(file_path, 'r') as f:
data = f.read()
# 对数据进行处理
# ...
解释:
-
我们首先使用
drive.mount('/content/drive')
挂载 Google Drive。 -
然后,我们使用完整的路径来访问文件。注意,路径以
/content/drive
开始,这是挂载 Google Drive 的位置。 -
现在你可以使用
open()
函数打开文件,并使用标准 Python 文件操作来读取数据。
额外提示:
- 确保你的 Google Drive 中存在名为 "Wave_Codes" 的文件夹,并且该文件夹中包含你想要读取的文件。
- 如果你仍然遇到问题,请检查文件名和扩展名是否正确。
通过遵循这些步骤,你应该能够从 Google Colab 中的 Google Drive 中读取文件。
标签:python,google-colaboratory,mount From: 76529926