jupyter ipython_在jupyter / ipython notebook中将命令行参数传递...

经过大量的环顾后,我发现了非常繁琐的自定义库,但是用几行代码解决了它,我认为这些代码很漂亮.我使用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正常工作.

你可能感兴趣的:(jupyter,ipython)