使用 Google Colab 在 运行 时查找 python_notebook.ipynb 的路径
Find path of python_notebook.ipynb when running it with Google Colab
我想找到存储我的 CODE 文件的 cwd。
对于 jupiter Lab,我会做:
import os
cwd= os.getcwd()
print (cwd)
OUT:
'C:...\Jupiter_lab_notebooks\CODE'
但是,如果我将文件夹复制到我的 GoogleDrive,并且 运行 GOOGLE COLAB 中的笔记本,我得到:
import os
cwd= os.getcwd()
print (cwd)
OUT:
/content
无论我的笔记本存放在哪里。
如何找到我的 .ipynb 文件夹存储的实际路径?
#编辑
我正在寻找的是 python 代码,它可以 return COLAB 笔记本的位置,无论它存储在驱动器中的哪个位置。这样我就可以从那里导航到子文件夹。
Google colab 允许您将笔记本保存到 google 驱动器,当您创建新笔记本时,您可以单击文件菜单中的“定位到驱动器”以访问此位置。
请注意,您可以将驱动器安装到 colab 实例,这意味着您可以将 google 驱动器作为 colab 实例中的子文件夹进行访问,但是,如果您正在寻找物理位置在你的 local google drive folder(由 google drive app 创建)然后这应该是这个位置(在 Mac)。
/Volumes/GoogleDrive/My Drive/Colab Notebooks/
但是,如果您已经在 colab 上安装了 google 驱动器,并且正在通过 google colab 查找笔记本的保存位置,试试这个 -
path = '/content/drive/MyDrive/Colab Notebooks'
由于 GoogleDrive 是您当前的工作目录,因此您需要先从 colab 挂载它:
from google.colab import drive
drive.mount('/content/drive/')
然后您需要将目录更改为您的 .ipynb
存储的位置:
import os
os.chdir('/content/drive/MyDrive/path/to/your/folder')
最后,如果你这样做
import os
cwd= os.getcwd()
print (cwd)
您将在存储 .ipynb
的地方得到类似于 /content/drive/MyDrive/path/to/your/folder
的内容。
当你这样做时
import subprocess
subprocess.check_output(['ls'])
您会在此处看到您的笔记本文件。
如果您想导航到子文件夹,只需使用 os.chdir()
。
这个问题困扰了我一段时间,这段代码应该设置工作目录,如果笔记本已经被单独找到,仅限于 Colab 系统和挂载的驱动器,这可以是 Colab 上的 运行:
import requests
import urllib.parse
import google.colab
import os
google.colab.drive.mount('/content/drive')
def locate_nb(set_singular=True):
found_files = []
paths = ['/']
nb_address = 'http://172.28.0.2:9000/api/sessions'
response = requests.get(nb_address).json()
name = urllib.parse.unquote(response[0]['name'])
dir_candidates = []
for path in paths:
for dirpath, subdirs, files in os.walk(path):
for file in files:
if file == name:
found_files.append(os.path.join(dirpath, file))
found_files = list(set(found_files))
if len(found_files) == 1:
nb_dir = os.path.dirname(found_files[0])
dir_candidates.append(nb_dir)
if set_singular:
print('Singular location found, setting directory:')
os.chdir(dir_candidates[0])
elif not found_files:
print('Notebook file name not found.')
elif len(found_files) > 1:
print('Multiple matches found, returning list of possible locations.')
dir_candidates = [os.path.dirname(f) for f in found_files]
return dir_candidates
locate_nb()
print(os.getcwd())
我想找到存储我的 CODE 文件的 cwd。
对于 jupiter Lab,我会做:
import os
cwd= os.getcwd()
print (cwd)
OUT:
'C:...\Jupiter_lab_notebooks\CODE'
但是,如果我将文件夹复制到我的 GoogleDrive,并且 运行 GOOGLE COLAB 中的笔记本,我得到:
import os
cwd= os.getcwd()
print (cwd)
OUT:
/content
无论我的笔记本存放在哪里。 如何找到我的 .ipynb 文件夹存储的实际路径?
#编辑
我正在寻找的是 python 代码,它可以 return COLAB 笔记本的位置,无论它存储在驱动器中的哪个位置。这样我就可以从那里导航到子文件夹。
Google colab 允许您将笔记本保存到 google 驱动器,当您创建新笔记本时,您可以单击文件菜单中的“定位到驱动器”以访问此位置。
请注意,您可以将驱动器安装到 colab 实例,这意味着您可以将 google 驱动器作为 colab 实例中的子文件夹进行访问,但是,如果您正在寻找物理位置在你的 local google drive folder(由 google drive app 创建)然后这应该是这个位置(在 Mac)。
/Volumes/GoogleDrive/My Drive/Colab Notebooks/
但是,如果您已经在 colab 上安装了 google 驱动器,并且正在通过 google colab 查找笔记本的保存位置,试试这个 -
path = '/content/drive/MyDrive/Colab Notebooks'
由于 GoogleDrive 是您当前的工作目录,因此您需要先从 colab 挂载它:
from google.colab import drive
drive.mount('/content/drive/')
然后您需要将目录更改为您的 .ipynb
存储的位置:
import os
os.chdir('/content/drive/MyDrive/path/to/your/folder')
最后,如果你这样做
import os
cwd= os.getcwd()
print (cwd)
您将在存储 .ipynb
的地方得到类似于 /content/drive/MyDrive/path/to/your/folder
的内容。
当你这样做时
import subprocess
subprocess.check_output(['ls'])
您会在此处看到您的笔记本文件。
如果您想导航到子文件夹,只需使用 os.chdir()
。
这个问题困扰了我一段时间,这段代码应该设置工作目录,如果笔记本已经被单独找到,仅限于 Colab 系统和挂载的驱动器,这可以是 Colab 上的 运行:
import requests
import urllib.parse
import google.colab
import os
google.colab.drive.mount('/content/drive')
def locate_nb(set_singular=True):
found_files = []
paths = ['/']
nb_address = 'http://172.28.0.2:9000/api/sessions'
response = requests.get(nb_address).json()
name = urllib.parse.unquote(response[0]['name'])
dir_candidates = []
for path in paths:
for dirpath, subdirs, files in os.walk(path):
for file in files:
if file == name:
found_files.append(os.path.join(dirpath, file))
found_files = list(set(found_files))
if len(found_files) == 1:
nb_dir = os.path.dirname(found_files[0])
dir_candidates.append(nb_dir)
if set_singular:
print('Singular location found, setting directory:')
os.chdir(dir_candidates[0])
elif not found_files:
print('Notebook file name not found.')
elif len(found_files) > 1:
print('Multiple matches found, returning list of possible locations.')
dir_candidates = [os.path.dirname(f) for f in found_files]
return dir_candidates
locate_nb()
print(os.getcwd())