Python optparser库详解
来源:互联网 发布:淘宝钻石展位好吗 编辑:程序博客网 时间:2024/05/16 20:28
转载出处http://blog.csdn.net/marksinoberg.
简介
optparse模块主要用来为脚本传递命令参数功能.
引入
在IDE中引入optparser是很方便的。
- 1
- 1
初始化
相对而言,初始化需要我们多注意一点点了。
因为我们有两种不同的方式来初始化一个parser。
- 带有Usage选项:
这样的好处是可以模拟带有帮助的终端使用,如下
- 1
- 2
- 3
- 1
- 2
- 3
显示的时候就会使这样的了。
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
- 不带Usage选项:
正常来说可以不用设置参数。
- 1
- 1
添加选项
为命令行添加选项是我们这次最主要的工作了,也是核心。但是在添加选项之前,我们应该明白,为什么要添加选项?选项的工作原理是什么?这样我们才能更好的理解optparser的设计思想。
选项:类比于Unix的工作模式。举例 ls -a 或者 ls -all.
我们添加了一个名为all 的选项,为了简化操作,默认设置为a.
在OptionParser中要想实现这样的一个效果,我们只需要借助如下的一行代码。
- 1
- 2
- 1
- 2
核心
作为核心就是指add_option的其他的参数。有如下几个:
- action: 验证输入数据类型是否和type 匹配,并将符合要求的这个参数存储到dest变量中。有以下几个属性:
- store 默认值
- store_false 标记而已 配合下边的那个store_true来进行代码的“标记”,辅助流程控制。 - store_true 标记而已
- store 默认值
- type : 指的是对应于参数,如-f,-n等的接下来的那个参数的数据类型,有string,int,float等等
- dest : 用于保存临时变量,其值可以作为options的属性进行访问。存储的内容就是如-f,-n 等紧挨着的那个参数内容。
- help: 提供用户友好的帮助信息,一般可以用来解释本add_option方法的功能阐述。
单纯的讲起来很枯燥,下面看一个小例子就会明白了。
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
对于action属性可以看看接下来的这段代码。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
非核心
这里主要是讲解一下关于default参数的作用,其实就是给dest的默认值。
如果我们没有指定dest的值的话,default的值就会作为dest的默认值来进行使用!
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
完整的demo
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
运行结果如下:
阅读全文
0 0
- Python optparser库详解
- Python optparser库详解
- Python optparser库详解
- python confingparser与optparser
- Python optparser 和getopt
- [随手] Python Optparser
- python optparser模块
- python optparser 输出中文的方法
- optparser中OptionParser提供选项的使用
- python库详解
- Python库urllib2详解
- Python graphics库详解
- python Tkinter库详解
- Python Requests库详解
- python numpy库详解
- python pandas库详解
- Python--urllib3库详解
- Python Turtle库详解
- Linux 引导过程内幕
- php笔试面试总结
- 等距网格细化的单快拍稀疏矩阵的DOA估计
- linux1.2.13伴读小书童 1
- maven 新建项目报错
- Python optparser库详解
- Activity缓存方法--onSaveInstanceState
- php的回收机制
- Martin Fowler和Kent Beck指出的代码22种坏味道
- DTrace
- error MSB8031: Building an MFC project for a non-Unicode character set is deprecated. You must chang
- 【数据结构】内部排序之冒泡排序
- 《数论概论》读书笔记 第5章 整除性与最大公因子数
- Unity Editor 基础篇(三):自定义窗口