【问题标题】:batch execute iPython Notebook with command line argument?使用命令行参数批量执行 iPython Notebook?
【发布时间】:2015-05-06 15:10:24
【问题描述】:

我正在使用nbconvert 通过命令行执行 iPython 笔记本(如在this answer 中):

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

是否可以传递命令行参数以从笔记本中访问(如sys.argv)?

这可以让我在不同的上下文中重复使用同一个笔记本。

【问题讨论】:

    标签: ipython-notebook jupyter


    【解决方案1】:

    您可以改为访问环境变量。我还没有遇到直接使用命令行参数的方法。

    【讨论】:

    • 有点尴尬,但是,如果不可能的话,那就是这样。
    • 您找到可行的方法了吗?因为我喜欢人们如何在没有给出更好答案的情况下拒绝投票。
    • 没有找到更好的!我没有投反对票,但我的猜测是,如果您没有将答案框定为不需要我要求的功能,那么没有人会投反对票。 (环境变量有效,但很尴尬!)
    • 沿着这些思路,您可以使用一个环境变量:NB_ARGS='--par1 val1 --par2 val2' jupyter nbconvert mynotebook.html --execute --stdout > myoutput.html,并在笔记本中使用argparse, os,如parser.parse_args(os.environ['NB_ARGS'])。至少只涉及一个变量...
    【解决方案2】:

    This is my attempt at a single module 用于 Python 脚本和 Jupyter 笔记本中的参数解析。它只支持简约的 key=value 样式参数,但满足我的需求。

    我将其转换为一个名为 Args.py 的 Python 脚本,并如图所示使用它。

    然后我可以像这样批量运行一个笔记本:

    jpn mynotebook limit=5 assignment=A2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-05
      • 2016-09-28
      • 2021-04-07
      • 1970-01-01
      • 1970-01-01
      • 2019-09-09
      相关资源
      最近更新 更多