argparse模块
argparse是一个方便的对于cmd-line的接口函数,可以方便的从sys.argv解析出命令参数,并自动的产生帮助文档。
1:create一个parser对象:
创建一个ArgumentParser类型的对象,parser = argparse.ArgumentParser(description = 'Process some integers')
之后的cmd-line的处理,都是通过该object进行调用。
2:增加argument,parser.add_argument('--sum', dest='accumulate', action='store_const', const=sum,default=max,help='sum the integers')
在增加argument的时候,会有很多option,来表征该参数的很多行为。
3:Parsing argument,parser.parse_args(['--sum', '7', '-1', '42']) 一般会产生一个简单的namespace类型的object。
修饰一个ArgumentParser objects的选项:
add_argument的选项方法:
1)name、flags,optional的选项,可以是'-f' “--foo”,-表示缩写,--表示全称。
必须的选项,‘bar’ 必须有cmd, python.py bar这样来使用。
2)action,表示接收到该参数,之后的行为以及存储。
action = 'store',默认的选项,将值保存在自己的数据结构中,
action = 'store_const',val前加const,保存在自己的数据结构中,
action = 'store_true',‘store_false’,转变为只是保存一个布尔值,
action = ‘append’,将参数按一个list的形式,保存下来,可以有多个参数,
add_argument('--foo 1 --foo 2', action = 'append'),保存list,[1,2]
action = 'count',只是将计数之后的值,保存下来,
也可以自定义action,这时,需要继承argparse.Action,做新的class,重写__call__函数。
3)nargs,指定某个选项需要指定的个数。
N,表示n个arguments打包为一个list。
?,表示可选的cmd option,可以指定default的值。
*,cmd_line中的所有元素都打包为一个list。
+,与*类似,但是如果没有具体指定,会报错。
4)const和default的cmd_line option。
5)type,argparser接收cmd-line的值,都是按string来接收的,如果需要转为int/float,需要type选项。
同时也支持FileType,mode=,bufsize=,encoding=,
6)choice,用在checker,检查输入值的范围。
7)required,显示指明-f/-foo这类的cmdline option必须配置。
8)dest,执行存储时的变量名。
9)help,指定--help时,的打印信息。
相关文章
- pycharm下找不到要安装的模块包(如sqlalchemy)[通俗易懂]
- 用好 DIV 和 API,在前端系统中轻松嵌入数据分析模块
- VPP bfd模块文档翻译
- PyCharm无法导入第三方模块解决办法
- 【maven】什么是坐标(依赖)继承与模块、web项目启动&访问
- python3 开发面试题(常用模块以及第三方库)6.5详解编程语言
- 化参数化Linux模块技术实践(linux模块参数)
- 实现Linux驱动模块简单且可靠(linux驱动模块)
- 使用这个 Python 模块输入不可见的密码
- MSSQL模块中的死数据类型研究(mssql模块死数据类型)
- Javascript模块化编程(一)模块的写法最佳实践
- seaJs的模块定义和模块加载浅析
- Pythonos模块介绍
- PHP模块memcached使用指南