python命令行工具argparse

本文详细介绍了Python标准库中的argparse模块,包括如何解析命令行参数、不同类型的参数(必填、可选、默认值、固定值true/false)以及参数的长名与类型设置。通过实例演示了参数解析过程,并解释了如何实现参数的默认值设定与特定行为(如开关参数)。此外,文章还强调了argparse模块中dest参数的作用与可选性,以及如何使用它来存储解析后的参数值。

argparse是python标准库的一个命令行解析工具

下面通过一些代码来边操作边学习

import argparse
parse = argparse.ArgumentParser()
parse.parse_args()

执行后得到的结果

从结果可以看出有些参数是默认存在的 可以找到,有些是不存在,

如果我们想加入一个自定义的的参数可以使用下面的代码

运行后 会有下面的结果

从结果可以知道,这个参数是positional类型的 这个参数是必须赋值的,否则会报错

如果想要optional 类型的参数 可以用下边的代码

执行后的结果

这样的参数 也是需要传值的, 

如果想要有默认值 可以使用default例如上面的程序可以写成

import argparse
parse = argparse.ArgumentParser()
parse.add_argument("-verbosity",default = 1,type = int)
args = parser.parse_args()
if args.verbosity:
    print "verbosity turned on"

 

其中的type是参数的类型,默认地,type 为’string’。也正如上面所示,长参数名也是可选的。

如果参数是固定的true或者false可以使用aciton属性

parse.add_argument("--verbosity", action="store_true",dest='verbosity')

parse.add_argument("--p",action="store_false",dest='p');

action 是指示 argparse 当解析到一个命令行参数时该如何处理。actions 有一组固定的值可供选择,默认是’store ‘,表示将命令行参数值保存在  对象里。

这样的话 当解析到parse.verbosity时时true,当解析到parse.p时是false 其中,dest 参数也是可选的。如果没有指定 dest 参数,将用命令行的参数名来对  对象的值进行存取。

 

 

转载于:https://www.cnblogs.com/yichangTech/p/4979494.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值