【发布时间】:2015-05-06 15:10:24
【问题描述】:
我正在使用nbconvert 通过命令行执行 iPython 笔记本(如在this answer 中):
ipython nbconvert --to=html --ExecutePreprocessor.enabled=True RunMe.ipynb
是否可以传递命令行参数以从笔记本中访问(如sys.argv)?
这可以让我在不同的上下文中重复使用同一个笔记本。
【问题讨论】:
我正在使用nbconvert 通过命令行执行 iPython 笔记本(如在this answer 中):
ipython nbconvert --to=html --ExecutePreprocessor.enabled=True RunMe.ipynb
是否可以传递命令行参数以从笔记本中访问(如sys.argv)?
这可以让我在不同的上下文中重复使用同一个笔记本。
【问题讨论】:
您可以改为访问环境变量。我还没有遇到直接使用命令行参数的方法。
【讨论】:
NB_ARGS='--par1 val1 --par2 val2' jupyter nbconvert mynotebook.html --execute --stdout > myoutput.html,并在笔记本中使用argparse, os,如parser.parse_args(os.environ['NB_ARGS'])。至少只涉及一个变量...
This is my attempt at a single module 用于 Python 脚本和 Jupyter 笔记本中的参数解析。它只支持简约的 key=value 样式参数,但满足我的需求。
我将其转换为一个名为 Args.py 的 Python 脚本,并如图所示使用它。
然后我可以像这样批量运行一个笔记本:
jpn mynotebook limit=5 assignment=A2
【讨论】: