argparse模块用法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

在机器学习中,通常用的argparse.ArgumentParser()函数,此模块主要用于解析命令行参数和选项,本文主要讲解其相关的用法。


一、argparse

argparse用于代替已经过时的optparse模块。argparse模块的作用是用于解析命令行参数。在训练过程中,方便快速在终端输入训练的参数和相关的选项。

二、argparse使用步骤

2.1 使用步骤

常用的方法基本按照以下步骤进行:导入模块、创建parse对象、添加参数和选项,解析参数和选项:
(1)import argparse
(2)parser = argparse.ArgumentParser()
(3)parser.add_argument()
(4)parser.parse_args()

2.2 参数讲解

(1)argparse.ArgumentParser()

prog=None     - The name of the program (default: sys.argv[0]) 程序文件名
usage=None    - The string describing the program usage (default: generated from arguments added to parser) 程序使用说明
description=None    - help时显示的开始文字 Text to display before the argument help (default: none)
epilog=None,     - help时显示的结尾文字
parents=[],        -若与其他参数的一些内容一样,可以继承
formatter_class=argparse.HelpFormatter,     - 自定义帮助信息的格式
prefix_chars='-',    - 命令的前缀,默认是‘-’
fromfile_prefix_chars=None,     - 命令行参数从文件中读取
argument_default=None,    - 设置一个全局的选项缺省值,一般每个选项单独设置
conflict_handler='error',   - 定义两个add_argument中添加的选项名字发生冲突时怎么处理,默认处理是抛出异常
add_help=True    - 是否增加-h/--help选项,默认是True)

(2)parser.add_argument()

name or flags...    - 必选参数名或者可选参数标识符,它必须作为add_argument()方法的第一个参数。
dest            - 这个参数相当于把位置参数或者选项参数关联到一个特定的名字
action         - 表示值赋予键的方式,这里用到的是bool类型,action意思是当读取的参数中出现指定参数的时候的行为
help       - 参数的说明信息
required    - 说明参数是否必须进行输入,只支持可选参数。
type      - 指定命令行参数数据类型
choices    - 说明命令行参数的取值范围,它的值一般是一个列表。choices列表中元素的类型应该与type批定的类型相兼容
nargs    - 指定这个参数后面的value有多少个,默认为1,如果设定为数字,比如2,表示接受2个value;如果设定为‘?’那么就只接受1个或者0个value,当0个value是默认值是default的value;如果设定为‘*,后面可接多个value
default   - 必选参数和可选的参数的默认值。

(3)parser.parse_args(args=None, namespace=None)

args      - List of strings to parse. The default is taken from sys.argv. 字符串列表,默认来自sys.argv
namespace   - An object to take the attributes. The default is a new empty Namespace object. 对象名,默认是一个空Namespace对象。

2.3 例子讲解

代码如下(示例):

import argparse

def parse_arge():
    parse=argparse.ArgumentParser(description='add parameter')
    parse.add_argument('--addr',default='sipingroad',help='the path of addr')
    parse.add_argument('--gpu',default=0)
    args=parse.parse_args()
    return args
if __name__=='__main__':
    args=parse_arge()
    print(args.addr)
    print(args.gpu)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值