首页 > 代码库 > python argpase模块简单使用

python argpase模块简单使用

python2.7

手册地址:https://docs.python.org/2/howto/argparse.html#id1

实现效果:脚本程序可以带参数

python arg.py -h

 

一、位置参数

示例代码:

1 import argparse        2 parser = argparse.ArgumentParser()      # 实例化3 parser.add_argument("square", help="display a square of a given number",4                     type=int)   #  名称  help  帮助信息   type  接受参数类型,默认为字符串5 args = parser.parse_args()    #接受的参数6 print args.square**2

使用

1 $ python prog.py 42 163 $ python prog.py four4 usage: prog.py [-h] square5 prog.py: error: argument square: invalid int value: four

 

二、可选参数

实例代码

1 import argparse2 parser = argparse.ArgumentParser()3 parser.add_argument("-v", "--verbose", help="increase output verbosity",4                     action="store_true")   # action 为"store_true"或"store_false"5 args = parser.parse_args()6 if args.verbose:     #注意verbose,和前面名字相同7     print "verbosity turned on"

使用

1 $ python prog.py -v2 verbosity turned on3 $ python prog.py --help4 usage: prog.py [-h] [-v]5 6 optional arguments:7   -h, --help     show this help message and exit8   -v, --verbose  increase output verbosity

 

三、混合类型

实例代码

 1 import argparse 2 parser = argparse.ArgumentParser() 3 parser.add_argument("square", type=int, 4                     help="display a square of a given number") 5 parser.add_argument("-v", "--verbosity", action="count", default=0, 6                     help="increase output verbosity")  
7 args = parser.parse_args() 8 answer = args.square**2 9 if args.verbosity >= 2:10 print "the square of {} equals {}".format(args.square, answer)11 elif args.verbosity >= 1:12 print "{}^2 == {}".format(args.square, answer)13 else:14 print answer
可以增加choices=[0, 1, 2]选项

使用
1 $ python prog.py 4 -vvv2 the square of 4 equals 163 $ python prog.py 4 -vvvv4 the square of 4 equals 165 $ python prog.py 46 16

 



四、增加冲突选项,多个选项只能选一个
 1 import argparse 2  3 parser = argparse.ArgumentParser(description="calculate X to the power of Y") #描述 4 group = parser.add_mutually_exclusive_group() 5 group.add_argument("-v", "--verbose", action="store_true") 6 group.add_argument("-q", "--quiet", action="store_true") 7 parser.add_argument("x", type=int, help="the base") 8 parser.add_argument("y", type=int, help="the exponent") 9 args = parser.parse_args()10 answer = args.x**args.y11 12 if args.quiet:13     print answer14 elif args.verbose:15     print "{} to the power {} equals {}".format(args.x, args.y, answer)16 else:17     print "{}^{} == {}".format(args.x, args.y, answer)

使用

 1 python prog.py --help   #prog.py为脚本名称 2 usage: prog.py [-h] [-v | -q] x y 3  4 calculate X to the power of Y 5  6 positional arguments: 7   x              the base 8   y              the exponent 9 10 optional arguments:11   -h, --help     show this help message and exit12   -v, --verbose13   -q, --quiet

 

 

python argpase模块简单使用