【问题标题】:Mount "Computers" of Google Drive to Colaboratory将 Google Drive 的“计算机”挂载到 Colaboratory
【发布时间】:2020-12-10 02:17:08
【问题描述】:

我从官方notebook研究了一些加载数据到Colaboratory的方法。

但它只是通过命令将 colab 与 Google Drive 的“My Drive”文件夹连接起来

drive.mount('/content/gdrive')

Picture for colab directory tree

但是,我想访问 Colab 中 Google 云端硬盘的“计算机”文件夹。有什么办法吗?

Picture for Google Drive web directory tree

谢谢!

【问题讨论】:

  • /content/gdrive/My\ Drive/Computers中没有吗?或者,您的意思是要从本地计算机访问其他文件?
  • @BobSmith 感谢您的回答。不幸的是,事实并非如此。根据我的理解,“计算机”目录是您(本地)计算机的同步目录(如果您使用的是谷歌驱动器桌面,它可以是任何文件夹,并且不必位于“谷歌驱动器”下)。它作为并行文件夹放置在 Google Drive web 上。但是当我挂载“/content/gdrive”时,只有一个子文件夹,即“我的驱动器”。而“我的云端硬盘”文件夹当然不包括“计算机”目录,而只包含“谷歌云端硬盘”下的我的文件。我将尝试编辑问题以使其清楚。

标签: google-drive-api google-colaboratory


【解决方案1】:

从计算机中,只需右键单击该文件,然后单击将快捷方式添加到驱动器,即可在 Colab 中打开该文件。这将创建该文件到云端硬盘的快捷方式。现在,当您在那里修改文件(gdrive)时,它也会在计算机上自动更新。见下图。

【讨论】:

  • 在我看来,如果您有少量文件,这是最好的答案。您可以右键单击 Drive web 界面中计算机中的任何文件,然后选择移动将其移动到主 Google Drive 文件夹。您可以单击管理将其移动到子文件夹或稍后移动。最好的部分是每次您在计算机上更改 Google 云端硬盘副本时都会更新它。
  • 这确实是最好的解决方案
  • 这真的有效吗?对我来说,快捷方式在目录名称的末尾有“@”。并且在有/没有它的情况下都无法访问此目录。例如%cd '/content/drive/My Drive/gdrive@' 显示“没有这样的文件或目录”。
【解决方案2】:

这是一个对我有用的技巧。您将需要两个 Google 帐户:让我们调用您当前从本地驱动器安装到“计算机”的帐户 A,以及您要在其中运行笔记本的帐户 B

  1. 使用帐户A,确保您的文件已正确挂载并在您的云端硬盘目录结构中的“计算机”下可见。

  2. 为此目录开启链接共享。

  3. 基本上,您现在需要与自己共享此链接。登录账号B并访问链接;这样做应该会让您进入云端硬盘的“与我共享”区域,在那里您应该可以看到您的目录。

  4. 将目录拖放到左侧文件树中的“我的驱动器”区域。这会将共享目录添加到帐户 B 的驱动器中(即不再位于“计算机”目录中,而是现在位于“我的驱动器”目录中)。

  5. 在 Colab 中使用帐户 B,照常挂载您的云端硬盘。您现在应该可以在帐户 B 的“我的云端硬盘”下访问您通过帐户 A 与自己共享的文件。

据我所知,共享目录是唯一可以将整个目录从“计算机”区域移动到“我的驱动器”区域的解决方法。

【讨论】:

    【解决方案3】:

    我找到了一种适合我的方法,基本原则是更改同步文件的方式

    从您的表述来看,我认为您的目标是将本地计算机上的同步文件应用到 Google Colaboratory。虽然我们无法将“Computers”安装到 Colaboratory,但我们可以安装“My Drive”。

    我的做法如下:

    1. 在“我的云端硬盘”中创建一个文件夹,例如“Gd test drive”。

    2. 同步'Gd test drive'文件夹到本地电脑,如下图:

      附:此图参考How Does Google Backup and Sync Work: A Comprehensive Guide进行演示。

    3. 创建要与 Google Drive 同步的文件,Google Colaboratory 将同步和访问这些文件。

    4. 将您的驱动器安装到 Colaboratory,然后您就可以访问您的目标文件夹或文件。

      from google.colab import drive
      drive.mount('/gdrive')
      

    【讨论】:

    • 太棒了!智能解决方案。
    【解决方案4】:

    在 Google Drive 的网络应用程序中,将所需的文件夹拖动到您的主驱动器。要求您在 colab 笔记本中重新安装驱动器。

    【讨论】:

      【解决方案5】:

      以下是可能对您有用的部分解决方案:

      通过使用Files: update API 调用,您可以将“root”作为父级添加到您正在同步的计算机内的任何文件夹中(设置 addParents="root")。这样一个文件夹可以同时存在于您的计算机部分和我的云端硬盘中,并且应该显示在 Colaboratory 中。

      【讨论】:

      • 谢谢,你能提供一个最小的工作版本吗?还是一些明确的指示?不幸的是,我不知道如何听从您的建议
      猜你喜欢
      • 2019-06-29
      • 2021-11-24
      • 2018-10-14
      • 2019-04-20
      • 2018-08-25
      • 2020-03-06
      • 2019-05-10
      • 2018-07-13
      • 2018-07-29
      相关资源
      最近更新 更多