核心参考
argparse.ArgumentParser
举个例子
例程如下
import argparse parser = argparse.ArgumentParser(description='this is a test program.') parser.add_argument('integers', metavar='N', type=int, nargs='+', help='an integer for the accumulator') parser.add_argument('--sum', dest='accumulate', action='store_const', const=sum, default=max, help='sum the integers (default: find the max)') args = parser.parse_args() print(args.accumulate(args.integers))
假设上面的 Python 代码保存在名为 prog.py 的文件中,它可以在命令行运行并提供有用的帮助消息:
$ python prog.py -h usage: prog.py [-h] [--sum] N [N ...] this is a test program. positional arguments: N an integer for the accumulator optional arguments: -h, --help show this help message and exit --sum sum the integers (default: find the max)
当使用适当的参数运行时,它会输出命令行传入整数的总和或者最大值:
$ python prog.py 1 2 3 4 4 $ python prog.py 1 2 3 4 --sum 10
如果传入无效参数,则会报出错误:
$ python prog.py a b c usage: prog.py [-h] [--sum] N [N ...] prog.py: error: argument N: invalid int value: 'a'
函数配置
位置参数
即必须进行输入的某些变量,前面不带着-或者--
parser.add_argument("square", help="display a square of a given number",type = int)
可选参数
即可输入可不输入的一些argument,前面带着-或者--。一个可选参数没有被选用,会被赋值为None
parser.add_argument("-v","--verbosity", help="increase output verbosity",type = str,action = "store_true",dest='accumulate')
- -为短选项
- 动作action的相关参数
- store_true说明在这个参数被激活时verbosity将会被置为true
- count用来数可选参数出现了几次,比如-vvv、-vv
- 如果提供dest,例如dest="accumulate",那么可以通过args.accumulate访问该参数
矛盾的选项
[-v|-q]说明-v和-q不能同时出现但是可以使用其中一个