无法在jupyternotebook(或jupyterlab会话)中更改目录(shell命令)

时间:2018-11-07 11:00:44

标签: python-3.x jupyter-notebook ipython

我可以从打开的jupyterlab(或jupyternotebook)会话中运行shell命令,并在shell命令之前添加一个感叹号,如下所示:

!mkdir /new_folder

这以及其他命令,例如lspwd都可以使用,尽管如果我尝试使用cd 更改目录,如下所示,< / p>

!cd /path/to/mydir

这不起作用,我注意到当前的工作目录将始终是保存我的jupyter笔记本(.ipynb)的目录。

如果我这样做,也很奇怪:

!cd /path/to/mydir && pwd

即使在下面的单元格上,我也会打印出/path/to/mydir

!pwd

我将获得保存jupyternotebook的当前目录,即,显然,我最终无法在jupyternotebook中使用!cd更改工作目录。

有人知道这个问题可能是什么吗?

1 个答案:

答案 0 :(得分:1)

您不能使用!cd从Jupyter笔记本浏览文件系统。原因是笔记本中的shell命令在一个临时子shell中执行。如果要更改工作目录,可以使用%cd magic命令:

!pwd
/d/swatchai_works/tutorial/jupyter

%cd ..
/d/swatchai_works/tutorial

!pwd
/d/swatchai_works/tutorial

%cd jupyter
/d/swatchai_works/tutorial/jupyter