一、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. java 对象锁和类锁的区别(转)

    java 对象锁和类锁的区别   转自; ) ); ; ) ); 上述的代码,第一个方法时用了同步代码块的方式进行同步,传入的对象实例是this,表明是当前对象,当然,如果需要同步其他对象实例,也不可 ...

  2. POJ 1064 Cable master (二分)

    题意:给定 n 条绳子,它们的长度分别为 ai,现在要从这些绳子中切出 m 条长度相同的绳子,求最长是多少. 析:其中就是一个二分的水题,但是有一个坑,那么就是最后输出不能四舍五入,只能向下取整. 代 ...

  3. mysql由浅入深探究(二)----mysql用户操作

    上一节我们完成了mysql的安装,现在我们将开启实战模式,完成一些基本的mysql操作.这节我们分为一些几个内容: mysql中用户新建 mysql中用户删除 mysql中用户修改 mysql中用户查 ...

  4. 洛谷P2280 [HNOI2003]激光炸弹

    P2280 [HNOI2003]激光炸弹 题目描述 输入输出格式 输入格式: 输入文件名为input.txt 输入文件的第一行为正整数n和正整数R,接下来的n行每行有3个正整数,分别表示 xi,yi ...

  5. 洛谷P4770 [NOI2018]你的名字(后缀自动机+线段树)

    传送门 我有种自己根本没学过SAM的感觉……最后还是抄了老半天的题解…… 首先,对$S$和每一次的$T$都建一个SAM 先考虑一下$l=1,r=\left| S \right|$的情况 设$lim_i ...

  6. VRTK3.3.0-002获取手柄事件

    1.首先创建VRScripts空物体,用来存放脚本,在其下创建Right空物体并添加VRTK_ControllerEvents脚本 2.Right作为右手手柄,拖拽到[VRTK_SDKManager] ...

  7. Mac中文输入法无选字框了?

    按F4键,把其它中的活动监视器打开,选简体中文输入法进程,双击点退出 ,再点强制退出,关了吧.再打字,好用了-

  8. 搞定C系语言的的swap

    http://www.cs.utsa.edu/~wagner/CS2213/swap/swap.html 原地址 Parameters, by value and by reference: Both ...

  9. php:php相关的函数或用法记录

    //1:判断字符串是否全是字母组成的 $str = 'AAKAaa_aLJIGF'; var_dump(ctype_alpha($str)); //boolean false,全部是英文时才是返回tr ...

  10. 规则引擎.Net Core

    .Net Core 环境下构建强大且易用的规则引擎 https://www.cnblogs.com/chenug/p/9160397.html 本文源码: https://github.com/jon ...