这篇教程Jupyter Notebook运行Python代码实现传参方式写得很实用,希望能帮到您。
Jupyter Notebook运行Python代码实现传参在Jupyter Notebook中,运行Python源代码非常方便,但是如何模拟命令行方式运行时的输入参数呢? 如果直接使用sys.argv会出现错误。
例如,使用argv[1]时出现导致上述错误的原因为:在Jupyter Notebook中运行Python代码时,argv中有三个默认参数,分别是: argv[0]: ‘路径/test.py' (源代码文件名)argv[1]: ‘-f'argv[2]: '路径/kernel-…json' 而在命令行方式下运行Python代码时,argv[0]与上述argv[0]相同,但argv[1]为命令行中紧随在test.py之后的字符串
例如,在如下命令行中python test.py test.txtargv[1]为 test.txt 因此,解决方案就是对 list argv 进行修改,如下面的代码所示: #需要sys模块来使用argvfrom sys import argv#查看当前的argv列表print(len(argv))print(argv)#直接修改argvargv[1] = 'test.txt'#也可以添加新的参数argv.append('test.txt') 这样,在后续代码中, .py 和 .ipynb源代码一致,无需为在Jupyter Notebook中运行而进行修改。
jupyter notebook参数化运行python
Updates(2019.8.14 19:53)吃饭前用这个方法实战了一下,吃完回来一看好像不太行:跑完一组参数之后,到跑下一组参数时好像没有释放之占用的 GPU,于是 notebook 上的结果,后面好几条都报错说 cuda out of memory。 现在改成:将 notebook 中的代码写在一个 python 文件中,然后用命令行运行这个文件,比如: |