optparse模块
该模块提供了解析命令行选项的接口,其中optparse已经在2.7以后的版本中已经不再继续开发好此模块,从2.7后,将开发argparse模块。
optparse模块使用的代码示例:
#!/bin/sh
#
# This is a learning notes in the process of analysing repo python scripts
# authour: fuyajun1983cn@hotmail.com
#
magic='--calling-python-from-/bin/sh--'
"""exec" python -E "$0" "$@" """#$magic"
if __name__ == '__main__':import sysif sys.argv[-1] == '#%s' % magic:del sys.argv[-1]
del magic#
print "An example of using optparse\n"from optparse import OptionParserparser = OptionParser()
parser.add_option("-f", "--file", dest="filename",help="write report to FILE", metavar="FILE")
parser.add_option("-q", "--quiet",action="store_false", dest="verbose", default=True,help="don't print status messages to stdout")(options, args) = parser.parse_args()#the default argument list is sys.argv[1:]
其中,options表示指定的选项,args表示对应的位置参数
理解option的actions
Actions告诉optparse怎样处理命令行对应的选项,这些Actions已经预先定义在optparse模块当中,当然可以扩展出更多的Action。默认情况下,action为store。
StoreAction
optparse将紧随其后的参数保存在DEST指定的变量中。如:
parser.add_option("-f", "--file",action="store", type="string", dest="filename")
执行如下语句后:
args = ["-f", "foo.txt"]
(options, args) = parser.parse_args(args)
options.filename的值为foo.txt。
optparse也支持其他类型的参数,如:
parser.add_option("-n", type="int", dest="num")
对于布尔类型的选项,有两个特别的action: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。
其他的一些Actions:
- "store_const"
- 存储一个常量
- "append"
- 将该选项的参数追加到一个列表中
- "count"
- 将某个计数器加 1
- "callback"
- 调用某个特定的函数
默认值
parser.add_option("-v", action="store_true", dest="verbose", default=False)
parser.add_option("-q", action="store_false", dest="verbose", default=True)
首先,默认值与选项无关,只与dest值关联,当多次设置默认值时,最后一次设置的默认值有效。
产生帮助信息
parser.add_option("-v", "--verbose",action="store_true", dest="verbose", default=True,help="make lots of noise [default]")
metavar
它表示用户需要提供的参数,默认情况下,optparse将dest变量名全部转为大写作为metavar的值,当然,我们也可以显示的指定metavar的值。
分组选项
# Logging
group = init_optparse.add_option_group('Logging options')
group.add_option('-q', '--quiet',dest="quiet", action="store_true", default=False,help="be quiet"),
# Manifest
group = init_optparse.add_option_group('Manifest options')
group.add_option('-u', '--manifest-url',dest='manifest_url',help='manifest repository location', metavar='URL')
转载于:https://my.oschina.net/fuyajun1983cn/blog/263966
optparse模块相关推荐
- Python [9] optparse模块生成命令行帮助信息
起初,最先接触python命令行传参是sys模块的argv方法,此方法功能简单,稍微增加一些需求,就不难满足需要了 那么今天就和大家聊聊optparse模块来替换sys模块的argv方法 一.optp ...
- python getopt argparse_python OptParse模块和argparse命令行解析的用法详解
https://www.cnblogs.com/wj-1314/p/8974021.html OptParse模块的简单介绍 Python 有两个内建的模块用于处理命令行参数: 一个是 getopt只 ...
- Python中的 optparse模块
python的内置模块中对于命令行的解析模块共两个getopt 和 optparse .不过getopt过于简单,往往不能满足需求.此时可以使用optparse模块.这个模块相对于getopt更新,功 ...
- python中parse是什么_Python中optparse模块使用浅析
最近遇到一个问题,是指定参数来运行某个特定的进程,这很类似Linux中一些命令的参数了,比如ls -a,为什么加上-a选项会响应.optparse模块实现的也是类似的功能,它是为脚本传递命令参数. 使 ...
- Python下使用optparse模块实现对多个文件进行统计【二】
一个取代shell wc -l 命令的python小脚本 1.通过python下optparse模块下OptionParser类是新对文件的统计 #!/opt/data/ipy/bin/python ...
- python 获取参数模块_Python中获取启动程序时后面跟的参数的方法(optparse模块)【冰斌棒】...
Python中获取启动程序时后面跟的参数的方法(optparse模块)[冰斌棒] 3年前 (2018-01-29) 作者:冰斌棒 分类:冰斌棒18程序计划 阅读次数:871 评论(0 ...
- python hank_python optparse模块
optparse是专门用来在命令行添加选项的一个模块. 首先来看一段示例代码 from optparse import OptionParser MSG_USAGE = "myprog[ - ...
- 转载:optparse模块OptionParser学习
optparse是专门用来在命令行添加选项的一个模块. 首先来看一段示例代码 from optparse import OptionParser MSG_USAGE = "myprog[ - ...
- 【转】Python之optparse模块OptionParser的使用方法
一.基本用法 optparse,是一个更够让程序设计人员轻松设计出简单明了.易于使用.符合标准的Unix命令例程式的Python模块.生成使用和帮助信息 首先你必须导入该类,并创建一个OptionPa ...
最新文章
- GPU自动调度卷积层
- 安装eAccelerator
- Jemeter对HTTP接口压测(二)
- 金融行业容器平台落地路径:敏捷响应业务更迭
- 如何在 Linux 中快速地通过 HTTP 提供文件访问服务
- UVa10881 Piotr's Ants【模拟】
- 从jupyter转换为exe格式
- iOS应用内购常见问题及注意事项
- CAD调试时抛出“正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码”异常的解决方法...
- 《Java 8实战》 之 Lambda
- CSS标准盒模型和怪异盒模型区别
- Codeforces Global Round 2 B. Alyona and a Narrow Fridge(二分)
- 竞业达录像服务器怎么修改,竞业达全国电子监考调试说明.doc
- 影视APP下载页面自适应html源码
- 解析C++隐藏与覆盖
- 树莓派 TeamView 远程访问分辨率设置
- python开发软件-七种流行的python开发软件,收藏了!
- wsappx关不掉_wsappx是什么_如何关闭_windows10系统
- ps上的阴影用css应该如何表示?
- SolidWorks如何在圆柱体侧面开槽