无法在colab笔记本中挂载Google驱动器文件夹

时间:2020-03-25 00:39:14

标签: python google-drive-api google-colaboratory mount-point

我正在尝试从https://drive.google.com/drive/folders/my_folder_name挂载目录,以便在google colab笔记本中使用。

有关安装文件夹的说明显示了一个以/ content / drive开头的目录的示例:

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

但是我的目录不是以/content/drive开头,而我尝试过的以下所有事情都导致了ValueError: Mountpoint must be in a directory that exists

drive.mount("/content/drive/folders/my_folder_name")
drive.mount("content/drive/folders/my_folder_name")
drive.mount("drive/folders/my_folder_name")
drive.mount("https://drive.google.com/drive/folders/my_folder_name")

如何安装不以/content/drive开头的Google驱动器位置?

5 个答案:

答案 0 :(得分:1)

您可以尝试这种方式

drive.mount('/gdrive)

现在从此路径访问文件

/gdrive/'My Drive'/folders/my_folder_name

答案 1 :(得分:1)

drive.mount('/content/drive')中的路径是将GDrive装入笔记本计算机运行的虚拟盒中的路径(装入点)(请参阅Unix / Linux中的“装入点”)。它没有指向您尝试访问Google云端硬盘的路径。 保持"/content/drive"不变并改为这样工作:

from google.colab import drive
drive.mount("/content/drive") # Don't change this.

my_path = "/path/in/google_drive/from/root" # Your path
gdrive_path = "/content/drive" + "/My Drive" + my_path # Change according to your locale, if neeeded.
# "/content/drive/My Drive/path/in/google_drive/from/root"

然后将my_path修改为位于GDrive中的所需文件夹(我不知道"/My Drive/"是否根据您的区域设置而更改)。现在,默认情况下,Colab Notebooks将笔记本保存在"/Colab Notebooks"中,因此,就我而言,我的GDrive的根目录实际上是gdrive_path = "/content/drive/My Drive"(我猜您也是)。 这给我们留下了

import pandas as pd

from google.colab import drive
drive.mount("/content/drive") # Don't change this.

my_path = "/folders/my_folder_name" # THIS is your GDrive path
gdrive_path = "/content/drive" + "/My Drive" + my_path
# /content/drive/My Drive/folders/my_folder_name

sample_input_file = gdrive_path + "input.csv" # The specific file you are trying to access
rawdata = pd.read_csv(sample_input_file)
# /content/drive/My Drive/folders/my_folder_name/input.csv

成功挂载后,在授予drive.mount API权限后,将要求您粘贴验证码。

答案 2 :(得分:0)

您可能要尝试以下操作,尽管这取决于您是以专业还是个人方式进行操作。在/ content / drive /之后,Google云端硬盘在文件结构中保留了一个My Drive。

drive.mount('/content/drive/My Drive/folders/my_folder_name')

答案 3 :(得分:0)

就我而言,这就是有效的方法。我认为这是Katardin的建议,除了我必须首先将以下子文件夹(可以通过链接访问)添加到“我的云端硬盘”中:

  1. 右键单击我获得的Google驱动器链接中的子文件夹,然后选择“添加到我的驱动器”。
  2. 登录我的Google驱动器。将子文件夹添加到我的Google驱动器my_folder_name中的新文件夹中。
  3. 然后我可以使用以下标准代码从colab访问这些子文件夹的内容:
drive.mount('/content/drive')
data_dir = 'drive/My Drive/my_folder_name'
os.listdir(data_dir)  # shows the subfolders I had shared with me

答案 4 :(得分:0)

我发现一个人无法安装这些驱动器的原因是与google的竞争。首先,建议将安装位置从/ content / gdrive更改为/ content /其他,但这并不能解决。我最终要做的是手动复制要复制到Google驱动器的文件,然后安装Google驱动器桌面应用程序,然后在Windows 10中转到现在位于Google驱动器上的文件夹并禁用文件权限继承,然后手动放置该文件夹对用户组和经过身份验证的用户组具有完全控制权限。这似乎为我解决了这个问题。其他时候,我也注意到了这些协作工具(特别不是这个协作工具,但是存储库中缺少了某些使用的组件,例如经过训练的模型)(好像它们已被删除了),唯一的解决方案是寻找这些协作的其他来源。文件。这包括通过Google搜索引擎进行搜索,还查看git checkout级别以查找master以外的分支,还寻找在github上克隆了该项目的项目,以查看它们是否仍包含这些文件。