使cmd arg解析器简单易用。
autoargparse的Python项目详细描述
自动参数分析
使cmd arg解析器简单易用。
依赖性
- python可以导入argparse
如何使用
pip安装autoargparse
导入autoargparse
初始化:
cmd=autoargparse.cmd()使用functon decorator:
@命令参数(短名称、长名称、nargs、帮助、操作、类型)
将函数参数设置为参数类型@cmd.kwargs(arg_name=short_name,nargs,帮助,操作,类型)
将函数参数设置为kwargs类型@命令标记(run_order=none)
设置函数运行顺序(整数,较大的第一次运行)运行: cmd.run()
示例
#!coding:utf-8importautoargparsecmd=autoargparse.cmd('simple calculator for example.')@cmd.mark(1)@cmd.kwargs(ne='--negative',action='store_true')@cmd.kwargs(ma='--max',action='store_true')@cmd.args('-s','--sum','*',type=int)defadd(*args,ma,ne):ifargsormaorne:d=0ifma:d=max(args)else:d=sum(args)ifne:d=-dprint(d)@cmd.mark(2)@cmd.args('-v',action='count')@cmd.args('-m','--mul',2,help='MUL!!!',type=int)defmul(a,b,v=None):ifnotv:print(a*b)elifv==1:print('a * b =',a*b)elifv==2:print('func =',mul.__name__,'args =',a,b,v)print('a * b =',a*b)@cmd.mark(3)@cmd.args('g',type=int,help='print great')defgreat(a):ifa==1:print('!!!')else:print('Great !!!')if__name__=="__main__":cmd.run()
输出
python .\example.py -h
usage: test.py [-h] [-s [SUM [SUM ...]]] [--max] [--negative] [-m MUL MUL]
[-v]
g
simple calculator for test.
positional arguments:
g print great
optional arguments:
-h, --help show this help message and exit
-s [SUM [SUM ...]], --sum [SUM [SUM ...]]
--max
--negative
-m MUL MUL, --mul MUL MUL
MUL!!!
-v
python .\example.py 1
!!!
python .\example.py 2
Great !!!
python .\example.py 1 -m 2 3
!!!
6
python .\example.py 1 -m 2 3 -v
!!!
a * b = 6
python .\example.py 1 -m 2 3 -vv
!!!
func = mul args = 2 3 2
a * b = 6
python .\example.py 1 -s 1 2 3 4
!!!
10
python .\example.py 1 -s 1 2 3 4 --max
!!!
4
python .\example.py 1 -s 1 2 3 4 --negative
!!!
-10
待办事项
- 添加图形用户界面
- 更易于使用