python使用getopt解析命令行参数
说明:
getopt.getopt(args,shortopts,longopts = [])
args
是要解析的参数列表(不包括程序启动路径),通常是sys.argv[1:]。shortopts
是脚本要识别的选项字母字符串,其中的选项需要一个参数,后接一个冒号。longopts
(如果已指定)必须是包含应支持的长选项名称的字符串列表。'--'
选项名称中不应包含前导字符。需要参数的长选项应后跟等号('='
)。不支持可选参数。要仅接受长选项,shortopts应该为空字符串。
1、命令行参数获取方法使用sys.argv
test.py1
2
3
4
5
6
7#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
if __name__ == "__main__":
for i in range(len(sys.argv)):
print(sys.argv[i])
执行1
python test.py 1 2
输出:1
2
3test.py
1
2
sys.argv第一个是脚本路径,剩下的是命令行参数。
2、getopt用法
1 | #!/usr/bin/python3 |
在"hi:p:t:v"
中字母后面没有:的表示没有值。例如i:
表示i后面有值,v
表示v后面没有值。"hi:p:t:v"
也可以写成"-h-i:-p:-t:-v"
的形式。
输入:1
python test.py --ip=111 -p a
输出:1
2[('--ip', '111'), ('-p', 'a')]
master ip 111, port a, type None.
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 张拓的博客!