ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python optparse命令行参数捕捉解析

2019-10-08 19:03:18  阅读:318  来源: 互联网

标签:fly python args kitty optparse 参数 命令行 skill options


需求:

有时候我们需要在命令行启动脚本时需要指定这个脚本的一些参数,简单举例,例如 python start.py -n kitty -s fly  abc bde

脚本文件后面的-n kitty -s fly  abc bde参数如何在脚本当中取到呢,这时候就需要使用optparse模块了

 

首先,我们需要创建一个OptionParser的对象

from optparse import OptionParser
op=OptionParser()

然后,我们需要用到add_option方法绑定参数,参数绑定后,用op.parse_args方法解析,得到两个变量,options为已经绑定的参数,args是除了绑定的参数之外的参数,统一存放在args中

op.add_option('-n','--name',dest='name') 
op.add_option('-s','--skill',dest='skill')
options,args=op.parse_args()
print(options,args)

绑定完了之后,我们在命令行模式下输入命令

命令行下输入:python test.py -n kitty -s fly abc  bde   
输出:{'name': 'kitty', 'skill': 'fly'} ['abc', 'bde'] #参数看似已经捕捉到了,并存放在一个字典和列表中,但其options并不是字典!!!

之所以说options并不是字典,因为我们可以通过type(options)得知其是<class 'optparse.Values'>的一个类,所以我们要拿到某个参数的值,我们并不能通过 dict['key'] 或者dict.get('key) 的方式去拿数据,而是要通过 obj.attr (对象.属性)的方式取值

print(options.name,options.skill)   #name,skill属性已经在add__option方法执行后封装成了一个属性
命令行中再次运行:python test.py -n kitty -s fly abc bde
输出:kitty fly

 

小白自学总结,如有错误,请指正。

标签:fly,python,args,kitty,optparse,参数,命令行,skill,options
来源: https://www.cnblogs.com/zc3614/p/11637285.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有