python模块之argparse:强大的命令行参数解析模块
2013-07-31 11:27
691 查看
python模块之argparse:强大的命令行参数解析模块
在用argparse模块之前,我一直是用optget模块,optget也比较简单好用,但是不够强大。比如说optget无法解析一个参数多个值的情况,如 --file file1 file2 file3...。经过一番寻寻觅觅之后发现了argparse这一神器,它能满足我对命令解析器的所有需求。它支持解析一参数多值,可以自动生成help命令和帮助文档,支持子解析器,支持限制参数取值范围等等功能。先新建一个解析器
import argparse parser = argparse.ArgumentParser(description='This is a description of %(prog)s', epilog='This is a epilog of %(prog)s', prefix_chars='-+', fromfile_prefix_chars='@', formatter_class=argparse.ArgumentDefaultsHelpFormatter)
如果还有子命令的话,需要建一个子解析器
subparsers = parser.add_subparsers(help='sub-command help')
create_parser = subparsers.add_parser('create', help='fcg-easy create -h')
为解析器添加参数
create_parser.add_argument('-g', '--group', type=str)
添加具有多个值的参数
需要在添加参数时指定nargs='+',如果某一参数具有多个值,那么将会得到一个值列表create_parser.add_argument('-d', '--disk', nargs='+', type=str)
还可以为解析器指定执行的函数
create_parser.set_defaults(func=main_create)
最后解析参数
args = parser.parse_args(cmdline)得到的args是一个命名空间,空间里的变量名就是每个参数名,其值就是解析到的参数值。
随后可以执行为命令指定的函数
args.func(args)
完整代码参考
https://github.com/lihuiba/flashcachegroup/blob/master/fcg-easy.py参考文献:
http://blog.openvs.info/python-optparse%E6%A8%A1%E5%9D%97/http://blog.csdn.net/songuooo/article/details/8373086
相关文章推荐
- python命令行参数解析模块argparse和docopt
- python命令行参数解析模块argparse和docopt
- python命令行参数解析模块argparse和docopt
- python 命令行解析模块 argparse
- Python解析命令行读取参数--argparse模块使用方法
- python 命令行参数解析 argparse简单分析
- Python解析模块argparse
- Python解析命令行参数模块getopt
- python argparse模块解析命令行选项简单使用
- Python命令行参数解析模块optparse使用实例
- python命令行解析-argparse模块
- python中的argparse模块(参数解析)
- Python模块之命令行解析工具-argparse
- python中的argparse模块(参数解析)
- python命令行参数模块argparse
- argparse模块---解析命令行参数
- 【Python 命令行参数解析: optparse 模块】
- Python命令行参数解析模块getopt使用实例
- python 命令行参数解析 argparse简单分析
- python模块之argparse--参数解析