python add_argument()用法解析
这篇文章主要介绍了pythonadd_argument()用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
介绍:
argparse
argparse是Python内置的一个用于命令项选项与参数解析的模块,通过在程序中定义好我们需要的参数,argparse将会从sys.argv中解析出这些参数,并自动生成帮助和使用信息。当然,Python也有第三方的库可用于命令行解析,而且功能也更加强大,比如docopt,Click。
argparse使用
简单示例
我们先来看一个简单示例。主要有三个步骤:
- 创建ArgumentParser()对象
- 调用add_argument()方法添加参数
- 使用parse_args()解析添加的参数
现在我们来简单的测试一下:
importargparse parser=argparse.ArgumentParser() parser.add_argument('--sparse',action='store_true',default=False,help='GATwithsparseversionornot.') parser.add_argument('--seed',type=int,default=72,help='Randomseed.') parser.add_argument('--epochs',type=int,default=10000,help='Numberofepochstotrain.') args=parser.parse_args() print(args.sparse) print(args.seed) print(args.epochs)
打印内容如下:
/home/user/anaconda3/bin/python3.6/home/user/lly/pyGAT-master/test.py False 72 10000 Processfinishedwithexitcode0
举例:
parser=argparse.ArgumentParser() parser.add_argument('--sparse',action='store_true',help='GATwithsparseversionornot.') parser.add_argument('--seed',type=int,default=72,help='Randomseed.') parser.add_argument('--epochs',type=int,default=10000,help='Numberofepochstotrain.') args=parser.parse_args() print(args.sparse) print(args.seed) print(args.epochs)
打印如下:
False 72 10000
举例
importargparse parser=argparse.ArgumentParser() parser.add_argument('--sparse',action='store_true',default=True,help='GATwithsparseversionornot.') parser.add_argument('--seed',type=int,default=72,help='Randomseed.') parser.add_argument('--epochs',type=int,default=10000,help='Numberofepochstotrain.') args=parser.parse_args() print(args.sparse) print(args.seed) print(args.epochs)
打印如下:
True
72
10000
先奉上add_argument()方法定义如何解析命令行参数:
ArgumentParser.add_argument(nameorflags...[,action][,nargs][,const][,default][,type][,choices][,required][,help][,metavar][,dest])
每个参数解释如下:
- nameorflags-选项字符串的名字或者列表,例如foo或者-f,--foo。
- action-命令行遇到参数时的动作,默认值是store。
- store_const,表示赋值为const;
- append,将遇到的值存储成列表,也就是如果参数重复则会保存多个值;
- append_const,将参数规范中定义的一个值保存到一个列表;
- count,存储遇到的次数;此外,也可以继承argparse.Action自定义参数解析;
- nargs-应该读取的命令行参数个数,可以是具体的数字,或者是?号,当不指定值时对于Positionalargument使用default,对于Optionalargument使用const;或者是*号,表示0或多个参数;或者是+号表示1或多个参数。
- const-action和nargs所需要的常量值。
- default-不指定参数时的默认值。
- type-命令行参数应该被转换成的类型。
- choices-参数可允许的值的一个容器。
- required-可选参数是否可以省略(仅针对可选参数)。
- help-参数的帮助信息,当指定为argparse.SUPPRESS时表示不显示该参数的帮助信息.
- metavar-在usage说明中的参数名称,对于必选参数默认就是参数名称,对于可选参数默认是全大写的参数名称.
- dest-解析后的参数名称,默认情况下,对于可选参数选取最长的名称,中划线转换为下划线.
然后对应程序中的内容:action-命令行遇到参数时的动作,默认值是store。所以sparse返回的是Ture,
以下同理:args.seed返回的是72,数据类型是int
args.epochs返回的是10000,数据类型是int
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。