【问题标题】:Fail to change directory (shell command) in jupyternotebook (or jupyterlab session)无法在 jupyternotebook(或 jupyterlab 会话)中更改目录(shell 命令)
【发布时间】:2018-11-07 11:00:43
【问题描述】:

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

!mkdir /new_folder

这个,以及其他命令,如lspwd 都可以工作,但如果我尝试使用cd 更改目录,如下所示

!cd /path/to/mydir

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

如果我这样做也很奇怪:

!cd /path/to/mydir && pwd

我会打印出/path/to/mydir,但如果在下面的单元格上我会打印出来

!pwd

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

有谁知道问题出在哪里?

【问题讨论】:

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


    【解决方案1】:

    您不能使用 !cd 从 Jupyter 笔记本导航文件系统。原因是 Jupyter 笔记本的代码单元中的 shell 命令(前面带有 ! 符号)在临时子 shell 中执行。如果您想更改工作目录,可以使用%cd 魔术命令:

    !pwd
    /d/swatchai_works/tutorial/jupyter
    
    %cd ..
    /d/swatchai_works/tutorial
    
    !pwd
    /d/swatchai_works/tutorial
    
    %cd jupyter
    /d/swatchai_works/tutorial/jupyter
    

    【讨论】:

      猜你喜欢
      • 2021-09-10
      • 1970-01-01
      • 2015-01-01
      • 2014-01-05
      • 1970-01-01
      • 2010-09-30
      • 2013-10-10
      相关资源
      最近更新 更多