一、optparse是专门用来在命令行添加选项的一个模块。支持python2.3及以上版本,从2.7版本之后,python不再更新该模块,2.7之后的版本推荐使用argparse模块。

二、optparse使用一种更加声明式的命令行解析风格:你创建一个OptionParser实例,填充选项,并解析命令行。optparse允许用户指定选项,使用传统的GNU/POSIX语法,此外它还会自动生成使用和帮助信息。

三、模块的基本使用

  1、写一个py文件

#coding=utf-8
import optparse
# 创建一个解析器,括号里可以传一个参数,该参数是使用信息
parser = optparse.OptionParser()
# 添加选项,添加的选项可以在你使用命令行启动py文件时,添加参数传到文件里进行运算
parser.add_option("-f", "--file", action='store',dest="filename",
help="write report to FILE", metavar="FILE") (options, args) = parser.parse_args()
print options.filename

  2、命令行使用:

D:\code>python test.py --file=file.py  # 打印结果为file.py  

  3、也可以直接在文件中定义

#coding=utf-8
import optparse
# 创建一个解析器,括号里可以传一个参数,该参数是使用信息
parser = optparse.OptionParser()
# 添加选项,添加的选项可以在你使用命令行启动py文件时,添加参数传到文件里进行运算
parser.add_option("-f", "--file", action='store',dest="filename",
help="write report to FILE", metavar="FILE")
fakeArgs = ['-f','file.py'] (options, args) = parser.parse_args(fakeArgs )
print options.filename

  4、add_option(short_option,long_option,[**params])参数说明,short_option,long_option,分别代表短选项字符串和长选项字符串,params表示如下可用参数:

    1)action:在解析选项时执行的动作,可设置为以下值:

       - 'store'——默认值就是这个,表示把命令行参数保存到options对象中

       - 'store_const'——选项不带任何参数,但是当遇到选项时,就会保存const关键字参数指定的常量值

       - 'stone_true' ——解析选项时,保存的时BOOL值True

       - 'store_false'——解析选项时,保存的是BOOL值False

       - 'append'——选项有一个参数,解析时被附加到一个列表

       - 'count'——选项不带任何参数,但是保存一个计数器,遇到参数,计数器的值就会增加

       - 'callback'——遇到选项时,调用callback关键字指定的一个回调函数

       - 'help'——解析选项时打印一条帮助消息

    2)callback:指定遇到选项时候调用的回调函数 callback(option,opt_str,value,parse,*rags,**kwarg)

    3)choice:指定所有可能的选项值的字符串列表,当一个选项只有一组有限的值时候使用

    4)const :通过store_const动作保存的常量值

    5)default 默认值None##dest 设置用于保存解析期间选项值的属性名称

    6)help:这个特定选项的帮助文档

    7)metavar:指定打印帮助文本时使用的选项参数的名称

    8)nargs:为需要参数的动作指定选项参数的数量

    9)type:指定选项的类型

    

 

optparse 模块的更多相关文章

  1. 最简单的optparse模块的用法

    optparse模块是python自带的模块,可用于处理命令行 #!/usr/bin/env python # -*- coding: utf-8 -*- """ __a ...

  2. python OptParse模块的用法详解

    OptParse模块的简单介绍 Python 有两个内建的模块用于处理命令行参数: 一个是 getopt只能简单处理 命令行参数: 另一个是 optparse,它功能强大,而且易于使用,可以方便地生成 ...

  3. optparse模块解析命令行参数的说明及优化

    一.关于解析命令行参数的方法 关于“解析命令行参数”的方法我们一般都会用到sys.argv跟optparse模块.关于sys.argv,网上有一篇非常优秀的博客已经介绍的很详细了,大家可以去这里参考: ...

  4. 利用optparse模块解析指令的字符串

    optparse模块主要用来为脚本传递命令参数,采用预先定义好的选项来解析命令行参数. 使用方法: 生成OptionParser对象,为对象添加option,用parse_args方法解析文字 具体实 ...

  5. optparse模块

    optparse模块主要是用来对参数的记录,相对来说比较灵活, 例子代码如下: #!/usr/bin/env python from optparse import OptionParser usag ...

  6. Python中optparse模块使用浅析

    转载:http://www.jb51.net/article/59296.htm 最近遇到一个问题,是指定参数来运行某个特定的进程,这很类似Linux中一些命令的参数了,比如ls -a,为什么加上-a ...

  7. python中optparse模块用法

    optparse模块主要用来为脚本传递命令参数,采用预先定义好的选项来解析命令行参数. 首先需要引入optparser模块,然后执行初始化,实例化一个OptionParser对象(可以带参,也可以不带 ...

  8. python模块----optparse模块、argparse模块 (命令行解析模块)

    简介 optparse module---自版本3.2以来已弃用:optparse模块已弃用,将不再进一步开发:将继续使用argparse模块进行开发.optparse使用一种更具声明性的命令行解析方 ...

  9. Python中的optparse模块的使用

    optparse模块主要用来为脚本传递命令参数,采用预先定义好的选项来解析命令行参数. 实例化一个 OptionParser 对象(可以带参,也可以不带参数),带参的话会把参数变量的内容作为帮助信息输 ...

  10. python optparse模块

    为了从更快的的使用这个模块,我们会省略一些东西,开始吧. 1. 加载模块 from optparse import OptionParser 2. 实例化OptionParse,可以理解为表明usea ...

随机推荐

  1. <c和指针>学习笔记3之操作符,表达式与指针

    1 操作符 (1)移位操作符 左移<<:值最左边的几位丢弃,右边多出来的几个空位用0补齐 01101101 011(丢弃)01101000(后面三位补0) 右移>>: 算术左移 ...

  2. Javascript实现页面左边的菜单选中项高亮显示

    在项目开发过程中,遇到一个问题 在一个模板页面中,Layout.cshtml,页面左边放了一个菜单项menu,每一项都是一个链接到一个新的页面.但所有页面都是用这个模板Layout.cshtml.需要 ...

  3. HDU - 6185 Covering(暴搜+递推+矩阵快速幂)

    Covering Bob's school has a big playground, boys and girls always play games here after school. To p ...

  4. 《剑指offer》面试题22—栈的压入、弹出序列

    <程序员面试宝典>上也有经典的火车进站问题,类似. 如果12345是压栈顺序,序列45321可能是出栈顺序,但序列43512不可能. 规律:对序列中任意元素n,排在n后且比n小的元素一定是 ...

  5. Scipy的应用

    首先总体概括一下Scipy的用处 >>> #Scipy依赖于numpy>>> #Scipy提供了真正的矩阵>>> #Scipy包含的功能:最优化, ...

  6. 352. Data Stream as Disjoint Intervals (TreeMap, lambda, heapq)

    Given a data stream input of non-negative integers a1, a2, ..., an, ..., summarize the numbers seen ...

  7. 洛谷P1014 Cantor表

    P1014 Cantor表 题目描述 现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的.他是用下面这一张表来证明这一命题的: 1/1 1/2 1/3 1/4 1/5 … 2/1 ...

  8. codevs 3342绿色通道

    3342 绿色通道  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 黄金 Gold

  9. 「GXOI / GZOI2019」逼死强迫症——斐波那契+矩阵快速幂

    题目 [题目描述] ITX351 要铺一条 $2 \times N$ 的路,为此他购买了 $N$ 块 $2 \times 1$ 的方砖.可是其中一块砖在运送的过程中从中间裂开了,变成了两块 $1 \t ...

  10. IT兄弟连 JavaWeb教程 AJAX定义以及解决的问题

    Ajax是"Asynchronous JavaScript And XML"的缩写(即:异步的JavaScript和XML),是一种实现无页面刷新获取服务器数据的混合技术,Ajax ...