python argparse模块

argparse模块是 python 命令行参数解析模块

import argparse
parse = argparse.ArgumentParser() #创建一个 ArgumentParser 对象,将会保存所有将命令行参数转化为 python 数据类型的必需信息
parse.add_argument() #添加参数
parse.parse_args() #解析添加的参数

位置参数

import argparse
parse = argparse.ArgumentParser()
parse.add_argument("echo",help="echo the string you use here")
args = parse.parse_args()
print args.echo

添加一个位置参数 echo,如下运行结果,打印出 echo 参数,add_argument 中的 help 为参数的解释部分,当使用 -h/--help的时候可以看到对这个参数的解释,argparse 视传入的命令行参数为 strings,可以在 add_argument( type=int )修改 

$ python prog.py foo
foo

可选参数:

即可以选择的参数

import argparse
parse = argparse.ArgumentParser()
parse.add_argument("-v","--verbose")
args = parse.parse_args()
if args.verbose:
    print "verbose turned on"

运行参数的时候,如果不指定 verbose 参数也是对的,这时 args.verbose 是 None,当使用可选参数的时候,后面一定要指定一个值。-v 是缩写 

$ python prog.py --verbosity 1
verbosity turned on

位置和可选参数混合:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("square", type=int,
                    help="display a square of a given number")
parser.add_argument("-v", "--verbose", action="store_true",
                    help="increase output verbosity")
args = parser.parse_args()
answer = args.square**2
if args.verbose:
    print "the square of {} equals {}".format(args.square, answer)
else:
    print answer
$ python prog.py
usage: prog.py [-h] [-v] square
prog.py: error: the following arguments are required: square
$ python prog.py 4
16
$ python prog.py 4 --verbose
the square of 4 equals 16
$ python prog.py --verbose 4
the square of 4 equals 16

python 中默认的 sys.arg[] 会自动保存运行 python 的参数,如果就一个参数那么保存在 sys.arg[1] 中,多的依次类推

 

add_argument()常用的参数:

dest:如果提供dest,例如dest="a",那么可以通过args.a访问该参数

default:设置参数的默认值

action:参数出发的动作

store:保存参数,默认

store_const:保存一个被定义为参数规格一部分的值(常量),而不是一个来自参数解析而来的值。

store_ture/store_false:保存相应的布尔值

append:将值保存在一个列表中。

append_const:将一个定义在参数规格中的值(常量)保存在一个列表中。

count:参数出现的次数

parser.add_argument("-v", "--verbosity", action="count", default=0, help="increase output verbosity")

version:打印程序版本信息

type:把从命令行输入的结果转成设置的类型

choice:允许的参数值

parser.add_argument("-v", "--verbosity", type=int, choices=[0, 1, 2], help="increase output verbosity")

help:参数命令的介绍

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值