python 命令行解析
可选:getopt, optparse
getopt:
import sys
import getopt
import optparse
opts, args = getopt.getopt(sys.argv[1:], "hi:o:p", ["haha", "xixi", "qiuqiu"])
print opts
命令:
python get_opt.py -hi "123"
输出:
[('-h', ''), ('-i', '123')]
解释:
getopt.getopt(1, 2, 3)
第一个参数是系统的输入参数,通常是 sys.argv[1:]
第二个参数是参数的短表示,例如h表示help, 如果需要参数的值,可以加上一个冒号,然后在没有值的情况下,就会报错提示。
第三个参数是参数名称的长列表的表示,通常需要和第二个保持顺序一致,但是也没有强制要求。
在需要使用参数的时候,只需要遍历返回值,opts 就行了
全部使用方式:
import sys
import getopt
import optparse
opts, args = getopt.getopt(sys.argv[1:], "hi:h", ["help", "input", "haha"])
config = {}
for opt_name, value in opts:
print opt_name, value
if opt_name in ["--input", "i"]:
config["input_value"] = value