我想访问Google云端硬盘“与我共享”目录中的文件。
在Colab python笔记本中,以下命令:
import os
from google.colab import drive
drive.mount('/content/drive')
ls "/content/drive/My Drive"
对于“我的云端硬盘”目录,效果很好
ls "/content/drive/My Drive"
失败
FileNotFoundError:[错误2]没有这样的文件或目录:
我知道可以手动将文件夹添加到驱动器并继续(as mentioned in here)的事实,但是我想直接访问共享文件夹,比如说我可能需要自动执行该操作。处理与我实时共享的文件。
我还知道其他云平台(例如“ OneDrive”)存在相同/相似的问题。
问题是:
感谢所有提示。 (另外,请提及您为什么投反对票,以防万一,我想学习不要再犯同样的错误。)
答案 0 :(得分:9)
另一种解决方法是转到Google云端硬盘,右键单击有问题的文件夹,然后单击“向云端硬盘添加快捷方式”。这将允许您从驱动器访问该文件夹!
答案 1 :(得分:3)
找到了一种与您访问共享目录内容的解决方案
从您的Google云端硬盘与我共享。
找到目录,右键单击添加快捷方式,然后指定路径以保存快捷方式
安装驱动器
from google.colab import drive
drive.mount('/content/drive',force_remount=True)
import os
os.chdir("/content/drive/My Drive")
并转到您指定的快捷方式位置,然后键入
ls
您可以看到快捷方式并通过cd <directory>
答案 2 :(得分:2)
与我共享代码的人也可以访问我的驱动器吗?
否,他们只能访问您与他们共享的内容(例如,您正在使用的笔记本)。 more info on permissions here:
答案 3 :(得分:2)
我通过将main / top文件夹添加为驱动器的快捷方式来解决此问题,然后使用了类似您的代码
我的情况:
我想从与我共享的文件夹中的文件夹中加载一个csv文件,因此在我的gdrive中,它位于“与我共享/folder_0/folder_1/file.csv” < / p>
所以我转到文件夹_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")
在我的情况下,一个csv文件已加载到熊猫中,但是这里重要的是路径"/content/drive/My Drive/folder_0/folder_1/file.csv"
,其中"/content/drive/My Drive/"
总是这样,"folder_0/folder_1/file.csv"
是必须相等的部分到您刚刚添加的快捷方式路径
答案 4 :(得分:1)
如果您要将文件从共享目录硬拷贝到自己的云端硬盘,请按以下步骤操作:
“新快捷方式”-> /gdrive/.shortcut-targets-by-id/dffdffxxxxxxxxxx/[shared folder]
我将共享文件夹的内容复制到了本地新创建的目录中
cp -rp '/gdrive/.shortcut-targets-by-id/dffdffxxxxxxxxxx/[shared folder]/*
。
效果很好。
答案 5 :(得分:1)
import os
from google.colab import drive
drive.mount('/content/drive',force_remount=True)
os.chdir("/content/drive/.shortcut-targets-byid/10xasdbasbdiluabsdiubiuadWEWEdaq/SHAREDFOLDER")
现在,所有团队都可以使用相同的代码(所有者需要与团队共享SHAREDFOLDER)
答案 6 :(得分:1)
这是一个对我来说很好的黑客。我必须加载与我共享的手套矢量文件,该文件位于我的谷歌驱动器的“与我共享”文件夹中。
右键单击文件 -> 选择将快捷方式添加到云端硬盘 -> 选择云端硬盘/我的云端硬盘中的任意位置。
## connect to google drive
from google.colab import drive
drive.mount('/content/drive/')
以上代码片段将您的 gdrive 安装在 colab 笔记本中。 点击挂载的文件夹找到你的文件->右键->复制路径
现在,您可以使用刚刚复制的路径读取任何文件!
答案 7 :(得分:0)
RE:是否有解决方法-
在Web UI中加载共享文件,右键单击感兴趣的目录,然后选择“添加到我的云端硬盘”。然后,该文件夹将如您所愿地显示在/content/drive/My Drive
中。
就上下文而言,云端硬盘与普通的文件系统不同:文件和目录可以有多个父级,因此会同时出现在文件列表和原始所有者中。
RE:其他用户是否可以访问云端硬盘文件? -
否,笔记本是Drive中具有不同Drive权限的不同对象。
答案 8 :(得分:0)
我认为是错字
import os
from google.colab import drive
drive.mount('/content/gdrive')
!ls "/content/gdrive/My Drive"
应该是对的。
您错过了'g'
答案 9 :(得分:0)
一种解决方法是采用以下方法从Google驱动器导入共享文件。
# 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")