参考:https://www.cnblogs.com/jokerjason/p/5730064.html,
https://www.cnblogs.com/yubenliu/p/6144492.html,
https://www.cnblogs.com/blacksunny/p/5315545.html,
http://docs.python.org/library/optparse.html

简单的例子

from  optparse import  OptionParser
usage="myprog [-f<filename>][-s<xyz>]arg1[,arg2..]"
optParser=OptionParser(usage)
optParser.add_option("-f","--file",action="store",type="string",dest="filename")
optParser.add_option("-v","--vison",action="store_false",dest="verbose",default="none",help="make losts of noise [default]")
fakeArgs=['-f',"file.txt",'-v','good luck to you','arg2','arg']
options,args=optParser.parse_args(fakeArgs)
opt,arg = optParser.parse_args()print(opt)
print (arg)
print(options)
print (args)
print (options.filename)
print (options.verbose)

对参数结果分析:
可以看出命令 optParser.parse_args()中编译的返回包含两部分,一部分是程序中add_option添加编译的参数,另一部分是传入,但没有add_option传入的部分,optParser.parse_args的作用 可以传递一个参数列表给parse_args(),否则,默认使用命令行参数(sysargv[1:]),就相当于在命令行中输入了fakeArgs中的内容

>>options,args=optParser.parse_args(fakeArgs)
>这个函数的参数是空或一个list的字符串列表,
>若为空,这表示返回所有定义的参数列表到options的字典,args为空列表
>若不为空,返回的options表示前面add_option过的字典,args会包含这个参数list中有但前面add_option命令没有的字符串

命令之间的关系

# 参数的含义[-f<filename>],和下面optParser.add_option()是对应关系,若下面第二步没有这个参数,第三步使用这个属性会报错
usage="myprog [-f<filename>][-s<xyz>]arg1[,arg2..]"
parser=OptionParser(usage)   # 第一步optParser.add_option("-f","--file",action="store",type="string",dest="filename")  # 第二步
print (options.filename)   # 第三步

最开始的字符串[-f<filename>][-s<xyz>]

> 没有实际的执行功能,只是作为一个对所有参数的罗列可以快速查看有哪些参数

.add_option()函数主要的几个参数

optParser.add_option("-f","--file",action="store",type="string",dest="filename",default='',help = 'help words')

第一个"-f",第二个"–file",在参数列表的编译的时候使用,如下

fakeArgs=['-f',"file.txt",'-v','good luck to you','arg2','arg']
options,args=optParser.parse_args(fakeArgs)

dest 定义了后边访问该对象时的属性名字,可通过该名字访问,若未写该属性则可以通过options.file(程序中的例子)使用该属性值,但若写了该参数值,则必须以该参数值的作为属性名访问

print (options.filename)

default 表示的是当没有给如变量时的默认值

optparse的模块编译参数使用相关推荐

  1. python 获取参数模块_Python中获取启动程序时后面跟的参数的方法(optparse模块)【冰斌棒】...

    Python中获取启动程序时后面跟的参数的方法(optparse模块)[冰斌棒] 3年前 (2018-01-29)    作者:冰斌棒    分类:冰斌棒18程序计划    阅读次数:871 评论(0 ...

  2. python hank_python optparse模块

    optparse是专门用来在命令行添加选项的一个模块. 首先来看一段示例代码 from optparse import OptionParser MSG_USAGE = "myprog[ - ...

  3. 使用getopts处理长和短命令行选项

    我希望使用我的shell脚本来调用命令行选项的长短形式. 我知道可以使用getopts ,但是像在Perl中一样,我无法对shell进行同样的操作. 关于如何完成此操作的任何想法,这样我就可以使用以下 ...

  4. Error:java: 无效的标记 -version 编译错误的解决办法

    创建新项目,在启动的时候遇到了 Error:java: 无效的标记: -version 这个报错信息 截图如下: 说是在编译的时候遇到了问题,所以我check了下maven配置,Settings里的 ...

  5. 标记接口,注解和注解处理器的前世今生

    文章目录 简介 注解的起源和marker interfaces 注解的定义 Retention Target 自定义参数 在运行时使用注解 在编译时使用注解 总结 简介 相信大部分的开发者都用过注解, ...

  6. nginx之configure解析以及模板简介

    1.路径相关的参数 参数名称 意义 默认值 --prefix=PATH Nginx安装部署后的根目录 默认为/usr/local/nginx目录.注意:这个目标的设置会影响其他参数中的相对目录.例如, ...

  7. Python模块学习——optparse

    Python 有两个内建的模块用于处理命令行参数: 一个是 getopt,<Deep in python>一书中也有提到,只能简单处理 命令行参数: 另一个是 optparse,它功能强大 ...

  8. optparse模块

    该模块提供了解析命令行选项的接口,其中optparse已经在2.7以后的版本中已经不再继续开发好此模块,从2.7后,将开发argparse模块. optparse模块使用的代码示例: #!/bin/s ...

  9. Python [9] optparse模块生成命令行帮助信息

    起初,最先接触python命令行传参是sys模块的argv方法,此方法功能简单,稍微增加一些需求,就不难满足需要了 那么今天就和大家聊聊optparse模块来替换sys模块的argv方法 一.optp ...

最新文章

  1. Ajax表单提交给C#后台选中的checkbox值
  2. Andrew Ng机器学习课程14(补)
  3. try-catch-finally-return执行路径总结
  4. Scom 2012 中的资源组(Resource Pool)
  5. 黄聪:bootstrap中模态框modal在苹果手机上会失效
  6. 蔬菜名称大全500种_96种室内盆栽植物图片及名称,室内植物品种大全
  7. Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci
  8. python datetime格式_python time和datetime常用写法格式
  9. 数学建模——线性规划
  10. SlideBox 间隔滚动效果
  11. ps怎么做油漆喷溅画效果
  12. 怎样把IE设置成默认浏览器
  13. 发送ajax请求接收json数据,ajax接收到的json数据是空的
  14. Linux内核4.14版本——mmc core(4)——card相关模块(mmc type card)
  15. 现在哪个安卓模拟器比较好用--BlueStacks 5
  16. 《数据库系统》(六)存储管理
  17. EA001-186-2220-蓝豪杰
  18. vim实用指南(一):光标移动(3)——滚动屏幕
  19. angular学习笔记(十四)-$watch(3)
  20. ElasticSearch入门:使用ES来实现模糊查询功能

热门文章

  1. linux thinkphp 计划任务_ThinkPHP定时任务项目案例分析
  2. python捕捉线程错误_python 主线程捕获子线程异常
  3. 容器访问宿主机数据库_docker从容器中怎么访问宿主机
  4. 中间滑动 头部底部固定_固定抗震成品支座功能特点及作用
  5. 数据结构 3-0 栈与队列总结
  6. 联合概率分布的学习笔记
  7. 有监督学习问题的分类:回归问题和分类问题
  8. Linux 多线程压缩/解压缩
  9. 修改Linux用户配置之后先验证再退出
  10. hdu2642二维树状数组单点更新+区间查询