`
Ydoing
  • 浏览: 106135 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Python之命令解析模块optparse

 
阅读更多

示例

from optparse import OptionParser
[...]
def main():
    usage = "usage: %prog [options] arg"
    parser = OptionParser(usage)
    parser.add_option("-f", "--file", dest="filename",
                      help="read data from FILENAME")
    parser.add_option("-v", "--verbose",
                      action="store_true", dest="verbose")
    parser.add_option("-q", "--quiet",
                      action="store_false", dest="verbose")
    [...]
    (options, args) = parser.parse_args()
    if len(args) != 1:
        parser.error("incorrect number of arguments")
    if options.verbose:
        print "reading %s..." % options.filename
    [...]

if __name__ == "__main__":
    main()

增加选项(add_option())

OptionParser.add_option(option)
OptionParser.add_option(*opt_str, attr=value, ...)

定义短选项
parser.add_option(“-f”, attr=value, …)

定义长选项
parser.add_option(“–foo”, attr=value, …)

如果定义

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

命令行格式可以有以下形式

-ffoo
-f foo
--file=foo
--file foo

解析后结果
options.filename = “foo”

解析(parse_args())

(options, args) = parser.parse_args()

options 解析后的参数,以字典形式保存
args 不能解析的参数,以列表形式保存

行为(action)

  • store 默认行为,保存值到dest

  • “store_const” 保存常量

  • “append” append this option’s argument to a list

  • “count” increment a counter by one

  • “callback” call a specified function

设置默认值(default)

parser.add_option("-v", action="store_true", dest="verbose", default=True)
parser.set_defaults(verbose=True)

生成帮助提示(help)

提供help选项即可,可以用parser.print_help()打印出来
parser.add_option(“-f”, “–file”, dest=”filename”,help=”write report to FILE”, metavar=”FILE”)

设置boolean值

支持store_true和store_false两个行为

parser.add_option("-v", action="store_true", dest="verbose")
parser.add_option("-q", action="store_false", dest="verbose")

如果遇到-v,verbose=True;如果遇到-q,verbose=False

错误处理

(options, args) = parser.parse_args()
[...]
if options.a and options.b:
    parser.error("options -a and -b are mutually exclusive")

选项组(Grouping Options)

格式如下
class optparse.OptionGroup(parser, title, description=None)

group = OptionGroup(parser, "Dangerous Options",
                    "Caution: use these options at your own risk.  "
                    "It is believed that some of them bite.")
group.add_option("-g", action="store_true", help="Group option.")
parser.add_option_group(group)

提示结果如下

Usage: <yourscript> [options] arg1 arg2

Options:
  -h, --help            show this help message and exit
  -v, --verbose         make lots of noise [default]
  -q, --quiet           be vewwy quiet (I'm hunting wabbits)
  -f FILE, --filename=FILE
                        write output to FILE
  -m MODE, --mode=MODE  interaction mode: novice, intermediate, or
                        expert [default: intermediate]

  Dangerous Options:
    Caution: use these options at your own risk.  It is believed that some
    of them bite.

    -g                  Group option.
<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    python optparse命令解析模块.docx

    Python的`optparse`模块是处理命令行参数的利器,尤其适合那些需要生成符合Unix/Posix标准选项规范的程序。在Python中,还有个较简单的`getopt`模块,但`optparse`因其强大的功能和易用性而更受欢迎。 `optparse`...

    Python命令行参数解析模块optparse使用实例

    主要介绍了Python命令行参数解析模块optparse使用实例,本文讲解了增加选项(add_option())、行为(action)、设置默认值(default)、生成帮助提示(help)、设置boolean值、错误处理、选项组(Grouping Options)等内容,需要...

    python命令行传参详解,optparse模块OptionParse类的学习.pdf

    Python中的`optparse`模块是用于处理命令行选项和参数的工具,它是Python标准库的一部分。这个模块使得在命令行接口(CLI)的程序中添加和解析参数变得简单且易于理解。下面我们将深入探讨`optparse`的工作原理以及...

    python optparse模块使用实例

    Python的`optparse`模块是Python 2.x版本中用于处理命令行选项的工具,它提供了方便的方式来定义、解析和验证命令行参数。在Python 3.x中,`optparse`已被更强大的`argparse`模块所替代,但对仍在使用Python 2.x的...

    Python命令行参数解析库Commando.zip

    Commando 灵感来自于 Python 的 optparse 模块 以及 JewelCli Java 库,是一个用来定义以及解析 命令行参数的Python工具包。 标签:Commando

    利用python-nmap模块探测所有主机445端口的开放状态.pptx

    Python-Nmap 模块探测主机 445 端口的开放状态 Python-Nmap 模块是 Python 的一个模块库,使用这个模块可以让 Python 很方便的操作 Nmap 扫描器来工作。Nmap 是一个网络连接扫描软件,用来扫描网络上的电脑开放的...

    python 命令行参数

    `optparse`模块是Python中用于解析命令行选项的一个强大工具,它允许开发者以直观的方式定义和解析命令行参数。下面将详细介绍如何使用`optparse`模块,并通过一个示例来具体说明其工作原理。 ##### 初始化`...

    python官方2.4.4版本msi安装包

    `optparse`模块,用于命令行选项解析;`anydbm`和`dbm.gnu`模块,为通用数据库接口提供了更多选择。 4. **性能优化**:Python 2.4对解释器进行了优化,提高了运行速度,尤其是对于循环和函数调用。同时,C扩展模块...

    Python 201(Intermediate Python)_Michael Driscoll

    该模块是用于命令行参数的解析,它是用于替换旧的`optparse`模块,允许用户编写用户友好的命令行接口。介绍了如何开始使用`argparse`,添加参数,处理短选项和长选项以及冲突选项,并在章节的最后进行总结。这些知识...

    python software

    5. optparse.py:这是一个命令行选项解析模块,帮助开发者构建命令行接口,接受和解析用户输入的参数。不过在Python 3中,这个模块已被更新的`argparse`模块替代。 6. subprocess.py:`subprocess`模块允许创建新的...

    python2.5--安装包

    3. **新增模块和库**:Python 2.5添加了一些新的标准库,如`argparse`(虽然在2.7版本中才成为标准),用于命令行参数解析,以及`optparse`,一个早期的命令行选项解析库。 4. **异常处理**:Python 2.5改进了异常...

    python官方2.4.1版本msi安装包

    - 标准库扩展:增加了许多新的模块,如sqlite3(轻量级数据库接口)、optparse(命令行选项解析)和decimal(高精度浮点数运算)等。 - 性能优化:针对某些常见操作进行了性能提升,例如字符串操作和列表处理。 5...

    python2.5.4 for windows安装版

    此外,`optparse`模块为命令行选项解析提供了便利。 4. **错误处理**:Python 2.5.4对错误处理进行了改进,提高了异常处理的效率,并修复了许多已知的bug。 5. **C API增强**:对于开发者来说,C API的更新使得与...

    Python Configuration Parser Module-开源

    模块的设计灵感来源于optparse模块,这是一个用于处理命令行选项、参数和子命令的Python标准库。optparse模块以其简洁的API和强大的功能而受到开发者喜爱,Python配置解析器模块在API设计上也力求保持类似的理念,以...

    Python 2.4 中文api

    `optparse`模块则简化了命令行选项解析。 7. **多线程(Multithreading)**:Python 2.4在多线程编程方面也有所改进,尽管GIL(全局解释器锁)仍然存在,但对线程的管理和同步有了更好的支持。 8. **Unicode支持**...

    python官方2.6.1版本msi安装包

    - 引入了`argparse`模块,这是一个命令行参数解析库,替代了之前的`optparse`,提供了更灵活的接口和更好的用户体验。 2. **语法改进**: - `with`语句的增强:Python 2.6.1支持了`with`语句,提供了一种优雅的...

    Python in a Nutshell

    `optparse`模块用于解析命令行参数,帮助处理脚本的输入选项。 #### 8.11 `itertools`模块 `itertools`模块提供了迭代器工具,如无限迭代器、组合生成器等,用于高效的数据迭代处理。 ### 九、字符串和正则表达式...

    Python解析命令行读取参数之argparse模块

    PS:optparse包是类似的功能,只不过写起来更麻烦一些。 如果脚本很简单或临时使用,没有多个复杂的参数选项,可以直接利用sys.argv将脚本后的参数依次读取(读进来的默认是字符串格式)。比如如下名为test.py的脚本:...

    python官方2.5.4.amd64版本msi安装包

    7. **标准库增强**:包括`json`模块的添加,用于JSON数据的编码和解码,以及`optparse`模块,提供了命令行选项解析的便利。 8. **AMD64支持**:这个amd64版本是针对64位Windows系统的,能够充分利用64位计算机的...

Global site tag (gtag.js) - Google Analytics