пакетное выполнение iPython Notebook с аргументом командной строки?

Я использую nbconvert для запуска блокнота iPython через командную строку (как в этом ответе):

ipython nbconvert --to=html --ExecutePreprocessor.enabled=True RunMe.ipynb

Можно ли передать аргументы командной строки для доступа из записной книжки (например, sys.argv)?

Это позволило бы мне повторно использовать один и тот же блокнот в разных контекстах.


person DavidC    schedule 06.05.2015    source источник


Ответы (2)


Вместо этого вы можете получить доступ к переменным среды. Мне еще предстоит найти способ напрямую использовать аргументы командной строки.

person nitind    schedule 06.05.2015
comment
Немного неловко, но да, это был бы выход, если это невозможно. - person DavidC; 06.05.2015
comment
Вы нашли способ, который возможен? Потому что мне нравится, как люди голосуют против этого, не давая лучшего ответа. - person nitind; 23.06.2015
comment
Ничего лучше не нашел! Я не голосовал против, но я предполагаю, что никто не проголосовал бы против, если бы вы не сформулировали ответ так, как будто в функциональности, о которой я прошу, нет необходимости. (переменные среды работают, но неудобно!) - person DavidC; 24.06.2015
comment
В соответствии с этим вы можете использовать одну переменную среды: NB_ARGS='--par1 val1 --par2 val2' jupyter nbconvert mynotebook.html --execute --stdout > myoutput.html и использовать argparse, os внутри блокнота как parser.parse_args(os.environ['NB_ARGS']). По крайней мере, здесь задействована только одна переменная... - person Mahé; 24.05.2016

Это моя попытка создать единый модуль для анализа аргументов в сценариях Python и блокнотах Jupyter. Он поддерживает только минималистские аргументы в стиле ключ = значение, но отвечает моим потребностям.

Я преобразовываю его в скрипт Python с именем Args.py и использую его, как показано.

Затем я могу запустить блокнот, например:

jpn mynotebook limit=5 assignment=A2

person GaryBishop    schedule 07.02.2016