先上个例子:
parser=argparse.ArgumentParser(description='this is a cms ')
parser.add_argument('-u',action='store',nargs='+',dest='url',help=u'请输入url地址,多个url用空格分隔')
parser.add_argument('-m',action='store',choices=('1','2','3'),type=int,default=1,help=u'选择一个常规识别模式,默认使用模式为1;(1:快速识别一条指纹 2:获取命中率高的指纹 3:得到所有匹配的指纹')
parser.add_argument('-t',action='store',type=int,default=10,help=u'输入一个线程数量,默认线程为50')
parser.add_argument('-o',action='store',type=file,dest='file',help=u'输出识别结果到本地文件')
args = parser.parse_args()
type
表示参数的数据类型,一般有字符串、数字、文件等。如果缺省,默认是字符串。
default
默认值,如果没有指定参数的值,就取default的值。
nargs
表示参数个数,默认是一个:
值 含义
N 参数的绝对个数(例如:3)
? 0或1个参数
* 0或所有参数
+ 所有,并且至少一个参数
action
choices
表示该参数能接受的值只能来自某几个值候选值中,除此以外会报错,用choices参数即可。
疑问:
多个参数之间可以使用空格分隔,如果使用逗号或其它符号怎么使用呢?