Python使用OptionParser处理命令行参数
---
最近一直很忙, 都没怎么来写blog, 正好近期积累了一些关于处理命令行参数的东西, 跟大家分享一下.
用Python来写cli程序还是很惬意的, Python自带的库就把最头疼的命令行参数解析问题解决了.
使用OptionParser来解析命令行参数分以下几个步骤:
1. 创建parser实例
2. 使用add_option添加我们要处理的命令行参数
3. 得到解析sys.argv后的options对象, 查看用户的输入
说的比较抽象, 下面用代码来说明下
import sys
from optparse import OptionParser
parser = OptionParser() #创建解析器
parser.add_option(‘-f’, ‘–filename’, action=’store’, dest=’filename’, help=’filename to be used’) #添加-f参数, 完整参数名是–filename, action的意思是, 得到该参数后, 怎么处理它, 一般使用store来存储起来, 存储的属性名称就是dest里写的filename, help里的内容将会在使用-h打印帮助信息的时候看到
parser.add_option(‘-v’, ‘–version’, action=’store_true’, dest=’version’, default=False, help=’show the version of this command’) #store_true这个action的意思是只有在使用该参数的时候存储, default则可以给一个默认值
(options, args) = parser.parse_args(sys.argv) #解析命令行的参数, 并将结果传给options
if options.filename:
print options.filenameif options.version:
print “Version: 0.0.1″
实际上, 精髓就在add_option这里, 我们需要把所有需要的参数都写在这里, 并给它配置各种参数, 一般来说, cli程序都会有一个短参数和一个长参数的. 当用户输入-f xxx.py的时候, 实际上xxx.py已经传给options.filename属性了, 直接就可以用了. 判断用户启用了哪些参数, 只需要判断options的各个属性是否为非空就行了.
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。