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/ 。 - 第一时间看后续精彩文章。觉得好的话,请猛击文章右下角「在看」,感谢支持。


