美文网首页
optparse模块

optparse模块

作者: zksmile | 来源:发表于2016-08-26 15:35 被阅读396次

           optparse 模块用于处理命令行参数,功能强大,而且易于使用,可以方便地生成标准的、符合Unix/Posix规范的命令行说明。

    简单流程:

    首先,必须导入模块 import OptionParser 类,创建一个OptionParser对象:

    from optparser import Optionparser

    ····

    parser = OptionParser()

    然后,使用add_option来定义命令行参数:

    parser.add_option("-D","--Database",action="store",type="string",dest="database",help="Please input test databases")

    每个命令行参数就是有参数名字字符串 和参数属性组成。

    最后

    一旦定义好所有命令行参数,调用parse_args()来解析程序的命令行。

    (options, args) = parser.parse_args()

    parse_args()返回的两个值:

    options, 是一个对象(optpars.Values)保存有命令行参数值。只要知道命令行参数名。如file 就可以访问其对应的值:options.file。

    args  是一个由positional arguments组成的列表。

    add_option中最重要的四个option属性是;action,type,dest,help.这四个中action是最基础的

    action 参数

    action参数告诉 optparse该做什么 当它在命令行中遇到选项是。action有三种存储方式: store store_false store_true 。如果不指定action的值,默认是store,它告诉optparse将继续读取下一个参数(type)。

    type参数

    默认是string 也可以是其他的Int和 float等

    dest参数

    dest 的值将作为parser的属性被存储

    parser.add_option("-f", "--file",action="store", type="string", dest="filename")

    当调用options.filename时其实就是命令行接收到 文件名的值。

    default 参数

    设置默认值之后,当从命令行没有接收到参数的是选取默认值。

    help 参数

    对定义的命令参数做一个解释。提供给使用者一个帮助信息,能够让使用者更加明白你这个参数的用法,具体是做什么的。

    例子:

    from optparse import OptionParser

    parser =OptionParser()

    parser.add_option("-D", "--Database", action="store",type="string",dest="database",help="Please input test databases")

    parser.add_option("-T", "--Table",action="store",type="string",dest="table",help="Please input test table")

    parser.add_option("-C", "--Column",action="store",type="string",dest="column",help="Please input test column")

    parser.add_option("-U" ,"--Url", action="store",type="string",dest="url",help="Please input test url")

    (options,args) = parser.parse_args()

    当没有接收到命令行参数 或者命令行参数不正确的时候,或者使用 -h --help参数时打印出帮助信息


    注意:打印出帮助信息之后,optparse 将会退出,不在解析其它命令行参数。


    相关文章

      网友评论

          本文标题:optparse模块

          本文链接:https://www.haomeiwen.com/subject/nnlzsttx.html