70

我想访问 Google Drive 的“与我共享”目录中的文件。

在 Colab python notebook 中,以下命令:

import os
from google.colab import drive
drive.mount('/content/drive')
!ls "/content/drive/My Drive"

但是适用于“我的驱动器”目录

!ls "/content/drive/My Drive"

失败了

FileNotFoundError: [Errno 2] 没有这样的文件或目录:

我知道我可以手动将文件夹添加到我的驱动器并继续(如此处所述),但我想直接访问共享文件夹,让我说我可能需要自动处理以下文件与我实时共享。

我也知道“OneDrive”等其他云平台存在相同/类似的问题。

问题是:

  1. 如果没有直接的方法,是否至少有一种解决方法?
  2. 与我共享代码的人是否也可以访问我的驱动器?
4

15 回答 15

45

另一种解决方法是转到 Google Drive,右键单击有问题的文件夹,然后单击“将快捷方式添加到 Drive”。这将允许您从驱动器访问文件夹!

于 2020-04-09T03:21:17.367 回答
35

RE: 有没有变通办法——

在 Web UI 中加载您的共享文件,右键单击感兴趣的目录,然后选择“添加到我的驱动器”。然后,该文件夹将/content/drive/My Drive如您所愿出现。

就上下文而言,Drive 不像普通的文件系统:文件和目录可以有多个父级,从而出现在您的文件列表和原始所有者中。

RE:其他用户可以访问云端硬盘文件吗?--

不,笔记本是 Drive 中的一个不同对象,具有不同的 Drive 权限。

于 2019-01-24T17:15:18.033 回答
20

我通过将 main/top 文件夹添加为我的驱动器的快捷方式来解决,然后我使用了像你这样的代码

我的情况:

我想从与我共享的文件夹中的文件夹中加载 csv 文件,因此在我的 gdrive 中将位于“与我共享/folder_0/folder_1/file.csv”

所以我去了 folder_0 右下角单击“添加快捷方式到驱动器”->“我的驱动器”->“添加快捷方式”。现在应该将整个 folder_0 作为快捷方式添加到您的驱动器中。

最后在colab nb中:

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

pandas.read_csv("/content/drive/My Drive/folder_0/folder_1/file.csv")

就我而言,是在 pandas 中加载的 csv 文件,但这里重要的是路径"/content/drive/My Drive/folder_0/folder_1/file.csv",其中"/content/drive/My Drive/"始终是这样的,并且"folder_0/folder_1/file.csv"是必须等于您刚刚添加的快捷路径的部分

于 2020-08-11T20:07:39.523 回答
11

您可以创建一个从“与我共享”文件到您的云端硬盘的快捷方式,它适用于我:

Steps

  1. 在您的驱动器上打开“与我共享”
  2. 选择文件夹或文件单击它的右键并选择添加快捷方式然后选择“我的驱动器”中的路径 fff
于 2021-05-20T15:38:15.183 回答
6

找到了与您访问共享目录内容的解决方案

  1. 从您的谷歌驱动器转到与我共享。

  2. 找到目录,右键添加快捷方式然后指定路径获取保存快捷方式

  3. 安装驱动器

    from google.colab import drive drive.mount('/content/drive',force_remount=True)

    import os

    os.chdir("/content/drive/My Drive")

并转到您指定的快捷方式位置并键入

ls

您可以看到快捷方式并通过以下方式访问它cd <directory>

于 2020-08-17T05:20:12.890 回答
5

与我共享代码的人是否也可以访问我的驱动器?

不,他们只能访问您与他们共享的内容(例如,您正在处理的笔记本)。有关权限的更多信息:

于 2019-11-02T07:36:11.713 回答
3

如果您想将文件从共享目录硬复制到您自己的驱动器,我执行以下操作:

  • 如上所述安装驱动器
  • 在我自己的目录中创建了共享文件夹的快捷方式或软链接
  • 那么如果你“ls”你的驱动器,你应该会看到类似这样的东西

“新快捷方式”->/gdrive/.shortcut-targets-by-id/dffdffxxxxxxxxxx/[shared folder]

  • 我创建了一个新的本地目录,我想要所有内容
  • 我“cd”到那个目录
  • 我将共享文件夹的内容复制到本地新创建的目录中

    cp -rp '/gdrive/.shortcut-targets-by-id/dffdffxxxxxxxxxx/[shared folder]/*.

它工作得很好。

于 2020-05-28T01:12:51.447 回答
3

要在 Google Colab 中访问与您共享的文件夹或文件,您必须:

  1. 转到 在 Google 云端硬盘中与我共享。
  2. 选择要访问的文件夹或文件。
  3. 右键单击它并选择Add shortcut to drive
  4. 将出现一个弹出窗口,选择MyDrive然后单击Add Shortcut
  5. 现在,转到您的 Google Colab Notebook 并使用以下命令安装到 Google Drive:
from google.colab import drive

drive.mount("/content/gdrive")
  1. 假设您要访问一个名为“ Dataset ”的文件夹,您可以这样做:
dataset_dir = '/content/gdrive/My Drive/Dataset'
  1. 现在您已准备好访问和处理此文件夹。
于 2021-12-01T09:02:06.690 回答
2
import os
from google.colab import drive
drive.mount('/content/drive',force_remount=True)
os.chdir("/content/drive/.shortcut-targets-byid/10xasdbasbdiluabsdiubiuadWEWEdaq/SHAREDFOLDER")

现在相同的代码将适用于所有团队(所有者需要与团队共享SHAREDFOLDER)

于 2020-07-24T16:18:27.507 回答
1

这是一个对我来说很好的hack。我必须加载与我共享的手套矢量文件,该文件位于我的谷歌驱动器的“与我共享”文件夹中。

右键单击文件 -> 选择将快捷方式添加到驱动器 -> 选择驱动器/我的驱动器中的任何位置。

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

上面的代码片段会将您的 gdrive 挂载到 colab 笔记本中。单击已安装的文件夹以查找您的文件->右键单击->复制路径

现在,您可以使用刚刚复制的路径读取任何文件!

于 2021-01-19T21:59:25.460 回答
1

我认为这是错字

import os
from google.colab import drive
drive.mount('/content/gdrive')
!ls "/content/gdrive/My Drive"

应该是对的。

你错过了'g'

于 2020-05-28T09:21:46.403 回答
0

一种解决方法是以下从谷歌驱动器导入共享文件的方法。

# Install PyDrive
!pip install PyDrive

#Import modules
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials

#Authenticate and create the PyDrive client
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)

#Get the Shareable link
#Ex link : https://drive.google.com/file/d/1c7Ffo1Go1dtUpKcSWxdbdVyW4dfhEoUp/view?usp=sharing
# Get the id from the link 1c7Ffo1Go1dtUpKcSWxdbdVyW4dfhEoUp
downloaded = drive.CreateFile({'id':"your_file_ID"})   
downloaded.GetContentFile('your_file_name.csv')       

#Read data
import pandas as pd
df = pd.read_csv("your_file_name.csv")
于 2020-06-24T06:37:54.327 回答
0

#步骤1:

将谷歌驱动器安装到您的 colab 笔记本中

from google.colab import drive 
drive.mount('/content/drive',force_remount=True)
import os 
import time

#第2步:

将目录更改为您的驱动器

os.chdir("/content/drive/MyDrive/")

#第3步:

创建一个新目录,您的文件应该存储在其中

!mkdir copyithere

#第4步:

返回共享文件夹并创建当前“copyithere”文件夹的快捷方式

#第5步:

将快捷方式重命名为不包含空格的名称

!mv "your shortcut name" targettobecopied

#第6步:

移动到重命名的快捷方式“targettobecopied”

os.chdir("/content/drive/MyDrive/copyithere/targettobecopied")

#第7步:

现在从快捷方式复制到您的实际谷歌驱动器

%%time 
!yes | cp -R -u -p -r -n * /content/drive/MyDrive/copyithere

~ 雷达

于 2022-01-12T07:22:11.147 回答
0

----最简单的方法!---- 如果您需要所有成员访问此文件,我建议所有成员都创建一个文件夹(命名为“快捷方式”)并执行以下操作:

  1. 查找与您共享的“路径”
  2. 右键单击“路径”中的文件/文件夹,然后选择“将快捷方式添加到驱动器”
  3. 从“MyDrive”中选择“快捷方式”文件夹,然后单击“添加快捷方式”

最后,通过这些代码行,所有成员都可以访问和挂载与他们共享的相同数据。

from google.colab import drive
drive.mount('/content/drive', force_remount=True)

data_path = '/content/drive/MyDrive/shortcuts/FileOrFolderName'

您可以在代码中的任何地方使用 data_path !

于 2021-09-09T13:02:54.380 回答
0

另一种解决方法:单击要添加到我的驱动器的文件夹。然后 Shift+z 并选择要将文件夹添加到的位置。更多信息在这里

于 2022-02-05T08:44:12.537 回答