在 google colab 中挂载多个驱动器

Gr1*_*ity 6 google-colaboratory

我使用这个功能来挂载我的谷歌驱动器

from google.colab import drive
drive.mount('/content/drive', force_remount=True)
Run Code Online (Sandbox Code Playgroud)

然后像这样从中复制文件

!tar -C "/home/" -xvf '/content/drive/My Drive/files.tar'
Run Code Online (Sandbox Code Playgroud)

我想从 2 个驱动器复制文件,但是当我尝试运行第一个脚本时,它只是重新安装我的第一个驱动器

如何挂载第一个驱动器,复制文件,然后挂载另一个驱动器并从第二个驱动器复制文件?

Suy*_*hav 15

以防万一有人真的需要安装多个驱动器,这里有一个安装 2 个驱动器的解决方法。

首先,使用挂载第一个驱动器

from google.colab import drive
drive.mount('/drive1')
Run Code Online (Sandbox Code Playgroud)

然后,使用以下脚本挂载第二个驱动器。

!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 /drive2
!google-drive-ocamlfuse /drive2
Run Code Online (Sandbox Code Playgroud)

现在,您将能够访问第一个驱动器中的文件/drive1/My Drive/和第二个驱动器中的文件/drive2/(第二种方法不会自动创建我的驱动器文件夹)。干杯!

有趣的事实:第二种方法实际上是在谷歌出现之前在 Colab 环境中挂载谷歌驱动器的常用方法google.colab.drive


Ami*_*i F 5

colab驱动模块并不真正支持您所描述的内容。

最简单的方法可能是将您想要从第二个帐户的云端硬盘读取的文件/文件夹共享到第一个帐户的云端硬盘(例如drive.google.com),然后从同一个安装中读取所有内容。