介绍
讲解
getopt.getopt(args, shortopts, longopts=[]) | 说明 |
---|
args | 脚本接收的参数,可以通过sys.argv获取 |
shortopts | 短参数 |
longopts | 长参数 |
- sys.argv里的argv[0]是当前脚本的文件名,所以从sys.argv[1:]开始匹配
- ‘-f:’ 后面多了一个":"代表了当前参数是有值的,且短参数后紧跟数据(-f 1.log),长参数则需“=”连接(–filename=1.log)
实例
import getopt
import sys
opts,args = getopt.getopt(sys.argv[1:],'-h-f:-o:-v',['help','filename=','option=','version'])
print('## opts: ',opts)
print('## args: ',args)
for opt_name,opt_value in opts:
print('## opt_name,opt_value: ', opt_name,opt_value)
if opt_name in ('-h','--help'):
print("[*] Help info")
exit()
if opt_name in ('-v','--version'):
print("[*] Version is 0.01 ")
exit()
if opt_name in ('-f','--filename'):
fileName = opt_value
print("[*] Filename is ",fileName)
if opt_name in ('-o','--option'):
Option = opt_value
print("[*] Option is ",Option)
exit()
测试结果:
('## opts: ', [('-h', '')])
('## args: ', [])
('## opt_name,opt_value: ', '-h', '')
[*] Help info
('## opts: ', [('--help', '')])
('## args: ', [])
('## opt_name,opt_value: ', '--help', '')
[*] Help info
('## opts: ', [('-f', '1.log'), ('-o', 'xmx=10G')])
('## args: ', [])
('## opt_name,opt_value: ', '-f', '1.log')
('[*] Filename is ', '1.log')
('## opt_name,opt_value: ', '-o', 'xmx=10G')
('[*] Option is ', 'xmx=10G')
('## opts: ', [('--filename', '1.log'), ('--option', 'xmx=10G')])
('## args: ', [])
('## opt_name,opt_value: ', '--filename', '1.log')
('[*] Filename is ', '1.log')
('## opt_name,opt_value: ', '--option', 'xmx=10G')
('[*] Option is ', 'xmx=10G')
('## opts: ', [('-v', '')])
('## args: ', [])
('## opt_name,opt_value: ', '-v', '')
[*] Version is 0.01
('## opts: ', [('--version', '')])
('## args: ', [])
('## opt_name,opt_value: ', '--version', '')
[*] Version is 0.01