python argvparser_Python使用OptionParser处理命令行参数

感谢 Davidx 的贡献。

---

最近一直很忙, 都没怎么来写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.filename

if options.version:

print “Version: 0.0.1″

实际上, 精髓就在add_option这里, 我们需要把所有需要的参数都写在这里, 并给它配置各种参数, 一般来说, cli程序都会有一个短参数和一个长参数的. 当用户输入-f xxx.py的时候, 实际上xxx.py已经传给options.filename属性了, 直接就可以用了. 判断用户启用了哪些参数, 只需要判断options的各个属性是否为非空就行了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值