欢迎来到代码驿站!

Python代码

当前位置:首页 > 软件编程 > Python代码

jupyter notebook使用argparse传入list参数

时间:2022-02-28 09:21:27|栏目:Python代码|点击:

jupyter notebook其实是可以使用 argparse来调用参数的,只要把参数转为list即可。
不能在jupyter notebook运行的代码(在shell里运行):parser.parse_args()
能在jupyter notebook运行的代码:parser.parse_args(arg_list)

只需要两步:

第一步. 创建一个简单的配置文件:config.ini

[train]
batch_size=32
num_layers=2

第二步. 用configparser类来加载这个文件

用configparser类来加载这个文件,并将配置转换为list类型,再将list传入

parser.parse_args(),即可无缝加入到argparse类里面。

下面是完整代码:

import argparse
import configparser

if __name__ == "__main__":
    jupyter = True  # 如果不在jupyter notebook中,就改为False.
    
    parser = argparse.ArgumentParser(description='test')
    parser.add_argument('--batch_size', type=int, default=64)
    parser.add_argument('--num_layers', type=int, default=2)

    arg_list = None
    if jupyter:
        # load from config.ini,如果是用jupyter, 就转换配置为list再传入argparse
        config = configparser.ConfigParser()
        config.read('config.ini')
        # 其实是个字典: 
        # print(config['train']['batch_size'])
        arg_list = []
        for k, v in config['train'].items():
            arg_list.append("--"+k)
            arg_list.append(v)

    # 如果不是用jupyter,arg_list就是None,和用命令行执行没有区别。
    args = parser.parse_args(arg_list)
    print('args:', args)
 

以上代码可以放到jupyter文件里面直接执行或者是放到python文件中用命令行执行,如:python main.py --batch_size=200

上一篇:Python办公自动化PPT批量转换操作

栏    目:Python代码

下一篇:Python解压可迭代对象赋值给多个变量详解

本文标题:jupyter notebook使用argparse传入list参数

本文地址:http://www.codeinn.net/misctech/194827.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有