python 中使用参数选项 getopt
python 中使用 getopt 分割参数
getopt 库是 python 内建库,以使用 getopt 库为程序指定可选参数。
|
|
指定选择项 opts 使用的长短字符
参数选择项通常有长短两种:
- 长短选择项本身都为字符串
- 短选择项的符号必须单字母,如果需要使用参数,选择项符号后需要使用
:
(如'o:'
。所有短选择项构成一个字符串传递给getopt
。 - 长选择项的符号通常使用单词或短语,如果需要使用参数,选择项符号后需要使用
=
(如'output='
)。所有长选择项构成一个列表。
|
|
- 传递所有参数
sys.argv[1:]
到getopt.getopt
。 - 指定短参数符号
ho:
,其中-h
不使用参数,-o
必须指定参数。 - 指定长参数符号
['help', 'output=']
,其中--help
不使用参数,--output
必须指定参数。 - 将参数分解完毕后,分别传递给
opts
和args
。
getopt.GetoptError
为抓取的错误信息
选择项 opts 和参数 args
使用 getopt 整理传参后,会得到连个列表: opts 和 args。
- opts 列表中的元素以元组的方式成对出现,分别对应选择项及其值
('opt','arg')
。如果 opt 是无参数选择项,则对应的 arg 为空('opt','')
。 - 传递多个参数,必须使用列表。
|
|
注意
switch(sys.argv[1:])
这里是使用系统传参。sys.argv[0]
是程序文件本身,所以过滤。
可以看到,输出结果为:
opts的值为: [('-h', ''), ('-o', 'filename1'), ('--help', ''), ('--output', 'filename2')]
args的值为: ['arg1', 'arg2']
解析 opts 的值
在获取到 opts
之后, 我们可以使用循环获取选项,并判断其是否出现。
|
|
-h ->
这里全部都是帮助信息
-o -> filename1
新的输出文件名为 filename1
--help ->
这里全部都是帮助信息
--output -> filename2
新的输出文件名为 filename2
- 原文链接:https://typonotes.com/posts/2016/11/09/python-getopt-usage/
- 本文为原创文章,转载注明出处。
- 欢迎 扫码关注公众号
Go与云原生
或 订阅网站 https://typonotes.com/ 。 - 第一时间看后续精彩文章。觉得好的话,请猛击文章右下角「在看」,感谢支持。