标签:
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 4 2 16 3 $ python prog.py four 4 usage: prog.py [-h] square 5 prog.py: error: argument square: invalid int value: ‘four‘
二、可选参数
实例代码
1 import argparse 2 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 -v 2 verbosity turned on 3 $ python prog.py --help 4 usage: prog.py [-h] [-v] 5 6 optional arguments: 7 -h, --help show this help message and exit 8 -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 -vvv 2 the square of 4 equals 16 3 $ python prog.py 4 -vvvv 4 the square of 4 equals 16 5 $ python prog.py 4 6 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.y 11 12 if args.quiet: 13 print answer 14 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 exit 12 -v, --verbose 13 -q, --quiet
标签:
原文地址:http://www.cnblogs.com/hb91/p/5811163.html