Не удалось изменить каталог (команда оболочки) в jupyternotebook (или сеанс jupyterlab) - PullRequest
0 голосов
/ 07 ноября 2018

Я могу запускать команды оболочки из открытого сеанса jupyterlab (или jupyternotebook) с восклицательным знаком, предварительно добавленным к команде оболочки, следующим образом:

!mkdir /new_folder

Это, как и другие команды, такие как ls и pwd, работают, хотя, если я пытаюсь изменить каталог с cd, как показано ниже

!cd /path/to/mydir

это не работает, и я заметил, что текущая рабочая папка всегда будет той, в которой хранится мой блокнот jupyter (.ipynb).

Также странно, что если я это сделаю:

!cd /path/to/mydir && pwd

Я распечатаю /path/to/mydir, хотя, если в ячейке ниже я сделаю

!pwd

Я получу текущий каталог, в котором сохранен мой jupyternotebook, т. Е., Очевидно, я в конечном итоге не смогу изменить рабочий каталог с помощью !cd в jupyternotebook.

Кто-нибудь знает, в чем может быть проблема?

1 Ответ

0 голосов
/ 07 ноября 2018

Вы не можете использовать !cd для навигации по файловой системе из блокнота Jupyter. Причина в том, что команды оболочки в записной книжке выполняются во временной подоболочке. Если вы хотите изменить рабочий каталог, вы можете использовать магическую команду %cd:

!pwd
/d/swatchai_works/tutorial/jupyter

%cd ..
/d/swatchai_works/tutorial

!pwd
/d/swatchai_works/tutorial

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