58

Google Colaboratory 真的很酷,但如果我可以访问我所有的 google drive 文件,而不使用标准的 google drive API,它会更有用。

有可能而且容易吗?如何?

4

6 回答 6

99

以下是使用 FUSE Drive 界面访问 Drive 文件(如本地文件)的示例: https ://colab.research.google.com/notebook#fileId=1srw_HFWQ2SMgmWIawucXfusGzrj1_U0q

简而言之:

# Load the Drive helper and mount
from google.colab import drive
drive.mount('/content/drive')

执行上述代码后,您的云端硬盘文件将出现在/content/drive/My Drive.

我猜您还发现了捆绑的示例 I/O 笔记本,它还展示了如何使用 Python API 来访问文件。(这需要更少的配置。) https://colab.research.google.com/notebook#fileId=/v2/external/notebooks/io.ipynb&scrollTo=c2W5A2px3doP

于 2017-12-10T23:12:28.153 回答
20

要将您的 Google 驱动器挂载到 Colab:

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

然后到cdGoogle 驱动器中的任何目录:

import os
os.chdir("drive/My Drive/<your-folder>")

并列出 Colab 正在处理的目录中的所有项目(以确保它是正确的目录):

!ls
于 2019-03-29T09:58:44.320 回答
12

请按照 colab notebook 中的 3 个简单步骤访问 google drive 中的文件夹或文件,

步骤:1运行此代码段

    !apt-get install -y -qq software-properties-common python-software-properties module-init-tools
    !add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
    !apt-get update -qq 2>&1 > /dev/null
    !apt-get -y install -qq google-drive-ocamlfuse fuse
    from google.colab import auth
    auth.authenticate_user()
    from oauth2client.client import GoogleCredentials
    creds = GoogleCredentials.get_application_default()
    import getpass
    !google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
    vcode = getpass.getpass()
    !echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}

在此步骤中,您将被要求两次单击链接以允许访问您的驱动器,在每一步将生成代码:(例如:4/AACN9EZG2AU0dRsV0BupjAc107ugSvT_pmr4YPElX7VkoWru6mNmqc8)。粘贴此代码并单击输入。

步骤:2创建目录

!mkdir -p drive
!google-drive-ocamlfuse drive

步骤:3 访问您的文件

import pandas as pd
trainDf = pd.read_csv("drive/app/Sample/train.csv");//Here is your file 
于 2018-06-16T14:42:27.613 回答
7

成功运行 Drive FUSE 程序后,您可以使用命令访问 /content/drive 中的驱动器

import os
os.chdir("/content/drive/")
!ls
于 2018-06-13T07:46:01.197 回答
3

是的,你可以这么做。

请按照以下步骤操作。

运行以下代码并完成认证

 !apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse fuse
from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}

**运行以下代码**

!mkdir -p drive
!google-drive-ocamlfuse drive

**导入文件到笔记本**

import pandas as pd
pd.read_csv("drive/Colab_Notebooks/4k_without_spcl.csv") 

Colab_Notebooks 是谷歌驱动器中的文件夹

于 2018-07-16T05:52:26.360 回答
1

跟着这些步骤:-

  1. 只需进入文件部分,即右侧的第三个图标
  2. 单击具有 google drive 登录的第三个图标。
  3. 额外的代码块将自动添加到您的笔记本中
  4. 运行该块,您将在运行时终端中获得一个链接
  5. 单击它会将您定向到 google 的登录 ID
  6. 单击您要链接的 google 驱动器的 ID
  7. 按 OK 将出现在下一页
  8. 复制将出现在下一页上的代码并将其粘贴到您的 google Colab 运行时终端中

将“驱动器”文件夹添加到文件部分后,您可以通过以下方式访问它

import os 
folder = os.path.join('/content/drive/My Drive/foldername')
于 2020-07-13T07:27:50.337 回答