在jupyter / iPython Notebook中将命令行参数传递给argv

Justadampaul:

我想知道是否有可能sys.argv在jupyter / ipython笔记本中用命令行参数填充(或其他结构),类似于通过python脚本完成的方式。

例如,如果我按如下所示运行python脚本:

python test.py False

然后sys.argv将包含参数False但是,如果我以类似方式运行jupyter笔记本:

jupyter notebook test.ipynb False

然后,命令行参数丢失。有什么方法可以从笔记本本身内部访问此参数?

史蒂夫·莫莉:

在四处查看之后,我发现了非常麻烦的自定义库,但是用几行代码解决了它,我认为这很漂亮。我使用nbconvert最终以html报告作为输出,该报告包含笔记本中的所有图形和减价,但始终像以前一样通过最小的python包装器接受命令行参数:

python文件test_args.py(正常使用命令行参数):

import sys,os
IPYNB_FILENAME = 'test_argv.ipynb'
CONFIG_FILENAME = '.config_ipynb'

def main(argv):
    with open(CONFIG_FILENAME,'w') as f:
        f.write(' '.join(argv))
    os.system('jupyter nbconvert --execute {:s} --to html'.format(IPYNB_FILENAME))
    return None

if __name__ == '__main__':
    main(sys.argv)

笔记本包含:

import sys,os,argparse
from IPython.display import HTML
CONFIG_FILE = '.config_ipynb'
if os.path.isfile(CONFIG_FILE):
    with open(CONFIG_FILE) as f:
        sys.argv = f.read().split()
else:
    sys.argv = ['test_args.py', 'input_file', '--int_param', '12']

parser = argparse.ArgumentParser()
parser.add_argument("input_file",help="Input image, directory, or npy.")
parser.add_argument("--int_param", type=int, default=4, help="an optional integer parameter.")
args = parser.parse_args()
p = args.int_param
print(args.input_file,p)

并且我可以像往常一样解析参数来运行python笔记本:

python test_args.py my_input_file --int_param 12

我倾向于将带有argparse调用的块粘贴到python包装器中,以便python脚本捕获命令行错误,并且-h正常工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

来自分类Python

在Ipython中使用Pylint(Jupyter-Notebook)

来自分类Python

如何获取当前的IPython / Jupyter Notebook名称

来自分类Dev

如何为Django设置Jupyter / IPython Notebook?

来自分类Dev

如何在iPython中将变量作为命令行参数传递?

来自分类Dev

将参数(目录)传递给ipython Notebook中的%cd命令

来自分类Dev

在Jupyter iPython Notebook中使用matplotlib绘制图形

来自分类Python

IPython Notebook(Jupyter),OpenCV(CV2)和绘图?

来自分类Dev

运行IPython / Jupyter Notebook是否会影响程序速度?

来自分类Dev

Jupyter / Ipython Notebook:如何计时多行代码段?

来自分类Dev

如何调试即将死去的Jupyter Notebook IPython内核?

来自分类Dev

在Jupyter Notebook中进行IPython风格的ipdb调试?

来自分类Dev

在IPython / Jupyter Notebook中格式化SQL查询

来自分类Dev

如何在ipython Notebook(Jupyter)中输入规范(乳胶)?

来自分类Dev

在iPython / Jupyter Notebook中安装多个Python 3内核

来自分类Dev

如何在iPython / Jupyter Notebook的Markdown单元中更改颜色?

来自分类Dev

Anaconda:IPython / Jupyter Notebook中的Python 3和2

来自分类Dev

如何将Jupyter Ipython Notebook连接到Amazon Redshift

来自分类Dev

如何在IPython Notebook / Jupyter中激活代码帮助

来自分类Dev

Jupyter中的R内核是否使用iPython Notebook?

来自分类Dev

在Jupyter iPython中运行Cython

来自分类Dev

从Jupyter Notebook运行交互式命令行代码

来自分类Dev

将python命令行参数发送到IPython

来自分类Python

Ipython Notebook:Mac中的jupyter_notebook_config.py在哪里?

来自分类Dev

在IPython Notebook / Jupyter单元格的新选项卡中打开URL

来自分类Dev

如何使用在主机machne中运行的Jupyter Notebook从docker容器中运行的ipython内核?

来自分类Dev

如何为IPython / IHaskell / Jupyter Notebook设置自定义CSS?

来自分类Python

iPython / Jupyter Notebook和Pandas,如何在for循环中绘制多个图形?

来自分类Dev

导入包可在IPython Shell中工作,但不能在Jupyter Notebook中工作

来自分类Python

如何在Markdown for IPython Notebook(Jupyter)中并排包含两张图片?

TOP 榜单

热门标签

归档