String a = new String("foo");
String b = new String("foo");
System.out.println(a == b); // prints false
System.out.println(a.equals(b)); // prints true
Убедитесь, что вы понимаете, почему. Это потому, что сравнение ==
сравнивает только ссылки; equals()
метод сопоставляет содержимое по символу.
Когда вы вызываете new для a
и b
, каждый получает новую ссылку, указывающую на "foo"
в таблице строк. Ссылки разные, но контент один и тот же.
Из командной строки вы можете преобразовать ноутбук в python с помощью этой команды:
ipython nbconvert --to python <YourNotebook>.ipynb
Возможно, вам придется установить пакет ошибок python:
sudo pip install mistune
Установите библиотеку runipy, которая позволяет запускать ваш код на терминале
pip install runipy
. После всего лишь компилятора ваш код:
runipy <YourNotebookName>.ipynb
Вы также можете попробовать cronjob. Вся информация здесь
Вы можете экспортировать весь свой код из .ipynb
и сохранить его как скрипт .py
. Затем вы можете запустить скрипт в своем терминале.
Надеюсь, что это поможет.
nbconvert позволяет запускать ноутбуки с флагом --execute
:
jupyter nbconvert --execute <notebook>
Если вы хотите запустить ноутбук и создать новый ноутбук, вы можете добавить --to notebook
:
jupyter nbconvert --execute --to notebook <notebook>
Или если вы хотите заменить существующий ноутбук новым выходом:
jupyter nbconvert --execute --to notebook --inplace <notebook>
Поскольку это очень длинная команда, вы можете использовать псевдоним:
alias nbx="jupyter nbconvert --execute --to notebook"
nbx [--inplace] <notebook>
Для новой версии вместо:
ipython nbconvert --to python <YourNotebook>.ipynb
Вы можете использовать jupyter вместо ipython:
jupyter nbconvert --to python <YourNotebook>.ipynb
ipython nbconvert
устарела в пользу jupyter nbconvert – PenguinEngineer 6 November 2017 в 18:33