python 使用getopt 获取配置参数

在工程中特别是稍微大一点的项目基本上都会用到配置,就会涉及到配置文件的读取,配置参数的读取。

常用的解析配置文件的是configParser,解析命令行参数的则为getopt。

getopt的参数可以分为两种:长模式和短模式。

长模式在命令行中为:--arg1 arg_value。

短模式则是长模式之外的常用空格分隔的参数。

在程序中使用getopt.getopt()对象获取参数,其格式为:

opts, args = getopt.getopt(arg_list, shor_mode, long_mode).

在python中arg_list为sys.argv[1:],因为我们不会将文件名也做为参数解析。

返回的结果中,opts为参数元组的列表,如:[(--config_file, config.ini)], args为参数列表。

栗子:

#!/usr/bin/python
# -*- coding:utf-8 -*-

import getopt
import sys
if __name__ == '__main__':
    long_opts = ["config_file=", "key1=", "key2="]
    short_opts = ""
    opts, args = getopt.getopt(sys.argv[1:], short_opts, long_opts)
    config_file = None
    for opt in opts:
        print opt[0], opt[1]
    print args

#命令行执行
MacBook-Pro:python$ python test_getopt.py --config_file config.ini --key1 value1 --key2 value2 args1 args2
--config_file config.ini
--key1 value1
--key2 value2
['args1', 'args2']

 

posted on 2015-07-21 23:42  chybot  阅读(1035)  评论(0编辑  收藏  举报