首页 > 代码库 > 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模块简单使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。