python 实现命令行参数 | KaiQ.Gu|KerwinKoo Blog
在终端中输入
vi -h或者
vi --help他们实现的功能是一样的,都是打印vi编辑器的帮助文档。python通过标准库getopt,对终端命令行参数进行解析,可以轻松达到以上效果。
代码举例:
1 | import sys |
上面例子中,longargs为长选项列表,其中=表示该长选项后必须跟有参数shortargs为短选项列表,在选项后面加:表示该短选项后必须跟有参数
函数getopt.getopt(sys.argv[1:], shortargs, longargs)表示对命令行进行解析,返回值为opts和args,含义如下:
opts 为分析出的格式信息.args 为不属于格式信息的剩余的命令行参数.其中opts 是一个两元组的列表,每个元素为:( 选项名称, 该选项参数) ,即上面举例代码中的(opt, value).如果没有选项附加参数则value为空串.所有为确保上述举例代码健全性,应该有参数的选项的value处做是否为空串判断.