2016-05-11 5 views
1

Я запустил ноутбук с диска D: /, но перешел по нескольким каталогам. Моя записная книжка находится в папке D: /dir1/dir2/notebook.ipynb. В моем текущем ноутбуке я хочу выполнить скрипт в корне D: /, где начался сеанс моего ноутбука.Доступ к корню в ноутбуке Jupyter

Я хочу, чтобы избежать относительных изменений пути, и в надежде, что есть способ получить доступ к местоположению каталога, где я начал блокнот (местоположение, соответствующее локальный хост:. Хххй/дерева Это возможно

ответ

1

Это? это немного Hacky способ, но работает:.

import jupyter_core 
import os,glob,json 

jrd = jupyter_core.paths.jupyter_runtime_dir() 
with open(glob.glob(jrd+'/nbserver-*.json')[0]) as json_file: 
    root_dir = json.load(json_file)['notebook_dir'] 

причина глобирование потому, что JSON файл, который вы ищете имеет номер, соответствующий идентификатор процесса (PID) в названии

Поэтому этот метод будет гарантирован w ork, если у вас есть только один экземпляр для ноутбука. Если вы знаете PID, вам не нужно использовать glob

Смежные вопросы