本文研究的主要是Python编程argparse的相关内容,具体介绍如下。
#aaa.py#version 3.5import os #这句是没用了,不知道为什么markdown在编辑代码时,不加这一句,就不能显示代码高亮[汗]import argparseparser = argparse.ArgumentParser(description='Process some integers...') #初始化一个分析器#parser.add_argument(中的参数)#__init__(self, option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)parser.add_argument('integers',metavar='N',type=int,nargs='+', help='an integer for the accumulator') #这是一个添加【位置参数】 #第一个参数是自定义的参数名,在代码中用来计算的(parser.parse_args().integers*2)parser.add_argument('--sum',dest='accumulate',action='store_const', const=sum,default=max, help='sum the integers(default:find the max)') #这是一个添加【可选参数】 #第一个参数是自定义的参数【在代码中的使用parser.parse_args().sum】【在系统命令行中的使用:>python aaa.py --sumargs = parser.parse_args()print(args) #Namespace(accumulate=<built-in function sum>, integers2=[1, 2, 3, 4])print(args.integers) #integers要与上面的对应print(args.accumulate(args.integers)) #accumulate要与上面的对应
在系统命令行中进行参数调用结果如下:
D:/Program Files (x86)/Python35>python aaa.py -h
usage: aaa.py [-h] [--sum] N [N ...]Process some integers...
positional arguments:
N an integer for the accumulatoroptional arguments:
-h, --help show this help message and exit
--sum sum the integers(default:find the max)
D:/Program Files (x86)/Python35>python aaa.py 1 2 3 4 --sum
Namespace(accumulate=<built-in function sum>, integers2=[1, 2, 3, 4])
[1, 2, 3, 4]
10D:/Program Files (x86)/Python35>python aaa.py 1 2 3 4
Namespace(accumulate=<built-in function max>, integers2=[1,2,3,4])
[1, 2, 3, 4]
4
在python交互模式下运行结果如下:
附件
Keyword Arguments:
|
| - option_strings -- A list of command-line option strings which
| should be associated with this action.
|
| - dest -- The name of the attribute to hold the created object(s)
|
| - nargs -- The number of command-line arguments that should be
| consumed. By default, one argument will be consumed and a single
| value will be produced. Other values include:
| - N (an integer) consumes N arguments (and produces a list)
| - '?' consumes zero or one arguments
新闻热点
疑难解答