今天小编就为大家分享一篇关于Python参数解析模块sys、getopt、argparse使用与对比分析,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
一些命令行工具的使用能够大大简化代码脚本的维护成本,提升复用性,今天主要是借助于python提供的几种主流的参数解析工具来实现简单的功能,主要是学习实践为主,这是新年伊始开工的第一篇,还是花了一番功夫来完成写作的和实验的,希望能够帮到需要的朋友们,新的一年里,祝大家心想事成!
好了,废话不多说,下面进入正文。
Python中有三个内建的模块用于处理命令行参数:
第一个:sys,最简单,只能够提供简单的参数解析功能
第二个:getopt,只能简单的处理命令行参数 ,较sys封装更好一点
第三个:argparse,使其更加容易的编写用户友好的命令行接口。它所需的程序进程了参数定义,argparse将更好的解析 sys.argv。同时argparse模块还能自动生成帮助及用户输入错误参数时的提示信息。
在命令行参数中分为“-”和“–”两种模式,具体的使用方法以及与异同点我都会在下面的实际使用中介绍到,主要是正确完成对两种命令参数模式的区分就行了。接下来的实践中,首先以sys模块为例,来观察该模块的参数解析过程,具体实践如下:
def sysFunc():
'''
基于 sys 模块的简单参数解析功能
选项的写法要求:
对于短格式:
"-"号后面要紧跟一个选项字母,如果还有此选项的附加参数,可以用空格分开,也可以不分开。
长度任意,可以用引号。
如: -h -ls -l s 等等
对于长格式:
"--"号后面要跟一个单词,如果还有些选项的附加参数,后面要紧跟"=",再加上参数。
"="号前后不能有空格。
如: --input=data.txt
长格式是在Linux下引入的,许多Linux程序都支持这两种格式。在Python中提供了getopt模块很好
的实现了对着两种用法的支持,而且使用简单。
执行示例:
python demo