使用过Linux/Unix的人都会知道,命令行下的很多命令都需要参数,在C语言中添加和解析参数比较繁琐。Python中提供了optparse模块可以非常方便地处理命令行参数。
1 命令行参数的样子
我们一般在使用命令行程序的时候,可能会看到大约这样的样子(这是我写的一个简单命令行帮助列表):
Usage: run.py [options] args Options: --version show program's version number and exit -h, --help show this help message and exit -c CLIENT_NUM, --clients=CLIENT_NUM number of clents -t TIME, --time=TIME test time in seconds
在C语言中,我们可能需要使用printf来打印所有的内容,但是请注意上面的内容不是手动打印的,而是optparse自动生成的。下面一点一点来解释这个过程。
2 optparse简单使用过程
当然,首先得导入模块:
from optparse import OptionParser
我们一般使用的是optparse的OptionParser类。
实例化一个OptionParse类,在实例化时可以实现上面命令行帮助信息中的第一行:
usage = "usage: %prog [options] args" parser = OptionParser(usage,version="%prog 0.1 ")
简单解释一下。我们可以向OptionParser传入参数,上面传入的是usage和version。当然不传入参数也是可以的。常用参数有:
usage:就是展示的第一行内容,默认是“%prog [options]”
version:传入这个参数可以让帮助信息增加--version选项,用来显示定义的软件版本信息。
description:描述这个程序。
add_help_option:这个参数产生-h选项来显示帮助信息,默认是开启的。
prog:可以看到上面使用了%prog,这个就是产生所执行的程序的程序名。(在我的例子里是run.py)
然后,我们需要添加必要的选项信息。
parser.add_option("-c", "--clients",dest="client_num",help="number of clents")
使用add_option可以添加选项。具体使用方法见:https://docs.python.org/2/library/optparse.html#optparse.OptionParser.add_option
这样我们就向程序添加了选项,有了选项我们就该根据选项进行相应的操作了。
(options, args)=parser.parse_args()
得到option和args后再根据值进行相应的操作。
非常简单,非常好用。