• 技术文章 >后端开发 >Python教程

    Python中optparse模块使用浅析

    2016-06-10 15:18:28原创471
    最近遇到一个问题,是指定参数来运行某个特定的进程,这很类似Linux中一些命令的参数了,比如ls -a,为什么加上-a选项会响应。optparse模块实现的也是类似的功能,它是为脚本传递命令参数。

    使用此模块前,首先需要导入模块中的类OptionParser,然后创建它的一个实例(对象):

    复制代码 代码如下:


    from optparse import OptionParser
    parser = OptionParser() #这里也可以定义类的参数,后续有

    接着就可以添加选项了,基本语法:

    复制代码 代码如下:


    parser.add_option(opt_str, ...,
    attr=value, ...)


       每个opt_str可以有多个选项字符串,比如-f 和--file(就行Linux命令行中ls -a和ls --all效果一样),只要定义了这些选项,则在命令行输入的时候这些选项就会被识别,否则报错。opt_str的定义可以如下:
    复制代码 代码如下:


    parser.add_option("-f", "--file", ...) #-f 和 --file 是作为调用时的参数的标签,会被识别


    当选项被定义好后,则可以调用parse_args()函数来获取我们定义的选项和参数
    复制代码 代码如下:


    (options, args) = parser.parse_args() #parse_args可以有参数,不定义的话使用默认的sys.argv[1:]


    parse_args()返回两个值,一个是选项options(如:-f),另一个是参数args,即除选项options以外的值(如:test.txt)

    add_option中最重要的四个option的属性是:action,type,dest(destination),help。这四个中action又是最基础的。

    action参数(附带介绍了type、dest):

    action参数告诉optparse该做什么当它在命令行中遇到选项时。action有三种存储方式:store、store_false、store_true。如果不指定action的值,默认的是store,它告诉optparse将继续读取下一个参数(type),保证类型的正确性,并将它将值存储在一个变量(dest)中,即将命令行中输入的字符串将它存为options的属性,这样可以直接调用。啰嗦了一大堆,我自己都被搞晕了~~~~,先看个例子吧!

    复制代码 代码如下:


    >>> parser.add_option("-f", "--file",action="store", type="string", dest="filename")
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• Python接口自动化测试必备基础之http协议详解• Python 3.11中的最佳新功能和功能修复• 实例详解Python面向对象的四大特征• Python数据分析之concat与merge函数(实例详解)• 一起聊聊Python的编码样式
    1/1

    PHP中文网