2017-09-15 143 views
0

考虑以下几点:获得途径jupyter服务器根目录

$ cd /home/mydir 
$ jupyter notebook --port=8888 

用简单的英语,我从/home/mydir目录中运行jupyter服务器。

是否有一种简单的方法从笔记本内获取此目录,无论它是R笔记本还是Python笔记本或其他?也许有一些神奇的命令或变量?

注意:getwd()不是回答,因为它返回当前笔记本的目录,但不是jupyter服务器根目录。

回答

0

请记住,您的iPtyhon只是一个Python模块,因此您可以在单元中执行任何有效的Python代码。所以,如果你开始你的笔记本电脑,并没有执行的代码中的任何目录的变化,你应该能够在小区下面的检索您的cwd

import os 
os.getcwd() 

但此外,还可以在执行shell命令细胞,因此您可以检索单元格中的其他信息。例如:

!which jupyter 

应该为您提供jupyter可执行文件的路径。

然后导致你运行像:

!jupyter --paths 

这应该给你类似的东西:

config: 
    /Users/yourdir/.jupyter 
    /usr/local/etc/jupyter 
    /etc/jupyter 
data: 
    /Users/yourdir/Library/Jupyter 
    /usr/local/share/jupyter 
    /usr/share/jupyter 
runtime: 
    /Users/yourdir/Library/Jupyter/runtime 
+0

我有一个嵌套的目录结构。 Jupyter从'/ home/mydir'目录运行,而笔记本在'/ home/mydir/subdir/another /'文件夹中。 'os.getcwd()'返回当前笔记本目录,而我需要一个项目根目录。 –

+0

如果您从命令行传递jupyter可执行文件的路径,那么您对'/ home/mydir'发出的python进程没有任何提示。您可以在文件系统的任何位置启动笔记本,方法是在通话过程中将笔记本路径设置为笔记本。这就是Python所保留的内容,即第二条路径,而不是'/ home/mydir',如果这仅仅是您输入笔记本电话时的位置。 –