一、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. openStack cinder 在往虚拟机上挂载云磁盘时总是提示挂在错误 最后找到原因原来是指定挂载云磁盘的虚拟机被锁定

    openStack 虚拟机的锁定功能是一个为了保护虚拟机 被误删除的一项创新共! 在VMs锁定状态下,一大部分针对此锁定的虚拟机都是无法执行的!! 需要进行相应的操作前,请注意解锁指定虚拟机,操作完成 ...

  2. python3-----反射实例

    #/usr/bin/env python # -*- coding:utf-8 -*- import sys,os class WebServer(object): def __init__(self ...

  3. idea+tomcat 解决 debug超级慢 问题

    最近在用intellij idea 开发程序,发现debug的时候启动得特别慢,正常run的时候启动的特别快,相差30多倍. 方法断点会戏剧性的降低debug的速度.当时并没有在意,因为并不清晰这个方 ...

  4. 利用JS函数制作时钟运行程序

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. FZU - 2218 Simple String Problem(状压dp)

    Simple String Problem Recently, you have found your interest in string theory. Here is an interestin ...

  6. sqlserver2012——EXCEPT差查询

    代表第一个select查询结果与第二个select查询结果去除相交后的数据

  7. SQL SERVER动态列名

    在ms sql server实现动态呈现列的方法很多.下面Insus.NET解决也算是另外一种参考. 如: 准备实现功能的数据: ) NOT NULL PRIMARY KEY) INSERT INTO ...

  8. 731. My Calendar II

    Implement a MyCalendarTwo class to store your events. A new event can be added if adding the event w ...

  9. Java基础--常用API--日期相关API

    一.java.util.Date 1.只用于显示系统时间,其大部分操作由Calendar代替. 格林威治时间(GMT):指的是1970年1月1日0时,不同地区有时间差. 默认输出格式:星期.月.日.时 ...

  10. xml布局文件

    https://blog.csdn.net/u013475386/article/details/44339035 gravity写在容器中中 layout_gravity写在控件中 layout_m ...