您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 |

自学教程:Jupyter Notebook运行Python代码实现传参方式

51自学网 2023-07-22 10:36:30
  python
这篇教程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 文件中,然后用命令行运行这个文件,比如:

# autorun.pyimport os# print(os.getcwd())over = [ 
深入剖析Python的列表和元组
pandas删除重复数据简单方法
51自学网自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1