Python 中使用optparse进行参数解析

使用过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后再根据值进行相应的操作。

 

 

非常简单,非常好用。

posted @ 2014-04-12 21:42  野风鼓瑟震山岗  阅读(1613)  评论(0编辑  收藏  举报