首页 > 编程问答 >如何修复 Google Colab 中未安装 Drive 和未正确设置路径的问题?

如何修复 Google Colab 中未安装 Drive 和未正确设置路径的问题?

时间:2024-07-27 14:34:04浏览次数:5  
标签:python google-colaboratory mount

我是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 的理解存在误区。让我们逐步解决这个问题,并提供一个解决方案:

理解问题:

  1. Google Colab 中的挂载是暂时的: 当你使用 drive.mount('/content/drive') 时,你的 Google Drive 会被挂载到 Colab 虚拟机中。但是,这个挂载是暂时的,会在会话结束后消失。如果你关闭了 Colab 标签页或长时间不活动,则需要重新挂载。

  2. 工作目录: 你在 Colab 中运行代码的默认工作目录是 /content 。挂载 Google Drive 并不会改变你的工作目录。

  3. 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

相关文章

  • 使用 docker run 将 Python 单击选项传递给 ENTRYPOINT 会出现错误:“在 $PATH 中找不
    我有一个简单的python脚本,我想在docker容器内运行它。它打印一行消息“Hello{name}”。python脚本使用clickCLI界面来定义收件人名称,如果我直接运行它(不使用dockerrun命令),它将如下所示:pythonhello.py-nSmithDockerbuild命令:dockerbuild.-thello:1.......
  • 标题:在 OpenSees Python 中定义具有特定卸载行为的双线性弹塑性材料
    我正在使用Python中的OpenSees,我想定义一种在负载下表现出双线性弹塑性行为的材料。但是,我需要在卸载过程中将材质返回到其原始位置,遵循准确的加载路径。在此处输入图像描述我不确定如何在OpenSees中正确实现卸载行为,我正在寻找实现这一具体材料反应的指导。......
  • 使用正则表达式删除Python中常见的公司名称后缀
    我正在努力删除一些公司名称中的后缀。预期结果如下:原始名称:AppleInc.SonyCorporationFiatChryslerAutomobilesS.p.A.SamsungElectronicsCo.,Ltd.清除名称:AppleSonyFiatChryslerAutomobilesSamsungElectronics到目前为止我所做的:importred......
  • 如何将 Brave 网络浏览器与 python、selenium 和 chromedriver 结合使用?
    我从Google的Chrome切换到Brave网络浏览器并且很难让它像Chrome一样与Brave一起使用。Brave是基于Chromium的,所以我猜它应该不会那么难。我确保我的Brave和Chromedriver处于相同版本,像这样,~/some/path$chromedriver--versionChromeDriver76.0.3......
  • 覆盖 python 应用程序时权限被拒绝
    我使用python制作了一个粗略的自动更新应用程序,并使用freeze-cx制作了exe文件。首先,该应用程序检查firebase服务器上是否有最新版本的文件可用,如果可用则下载zip文件。并且应用程序解压并覆盖文件。this_file_path=sys.executableifgetattr(sys,'frozen......
  • Python数据分析案例55——基于LSTM结构自编码器的多变量时间序列异常值监测
    案例背景时间序列的异常值检测是方兴未艾的话题。比如很多单变量的,一条风速,一条用电量这种做时间序列异常值检测,想查看一下哪个时间点的用电量异常。多变量时间序列由不同变量随时间变化的序列组成,这些时间序列在实际应用中通常来自不同的传感器或数据源。多变量时间序列异......
  • 我没有 python 但我有 python3
    我最近格式化了我的笔记本电脑并安装了Ubuntu操作系统。我没有明确安装Python。为了检查它是否已预安装,我在终端中运行python--version并得到了这个:$python--versionCommand'python'notfound,butcanbeinstalledwith:sudoaptinstallpython3......
  • 基于YOLOv9的停车场空闲车位检测【python源码+UI界面+数据集+模型+语音报警+安装说明
    往期精品导航基于YOLOv9的脑肿瘤区域检测智慧课堂基于YOLOv8的学生上课行为检测基于YOLOv9+pyside的安检仪x光危险物物品检测(有ui)基于YOLOv9的PCB板缺陷检测基于YOLOv9的线路绝缘子缺陷检测【python源码+UI界面+数据集+模型+语音报警+安装说明】基于YOLOv9的道路状况检测【......
  • 1-python的数据类型与变量
    一、交互模式与脚本模式交互模式:就相当于一种问答模式,关闭即消失无法保存重用比如python自带的编译器脚本模式:可以将代码长期保存以及重复使用如何创建脚本模式:idle——file——newfile[快捷方式:idle——ctrl+n]保存:ctrl+s运行:F5二、变量(Variable)变量:会变化......
  • 2-Python数据类型——序列
    Python数据类型——序列一、序列序列是一个可以存放多个值的容器。有序序列:在序列中每个值都有对应的下标下标:就相当于酒店的房间号,方便客人的查找与酒店的管理在编程中下标的起始值与日常生活中的计数有所不同:下标的计数从0开始计数,从左往右计数:下标从0开始往右递......