码迷,mamicode.com
首页 > 编程语言 > 详细

python argpase模块简单使用

时间:2016-08-26 18:09:24      阅读:293      评论:0      收藏:0      [点我收藏+]

标签:

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

 

 

python argpase模块简单使用

标签:

原文地址:http://www.cnblogs.com/hb91/p/5811163.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!