在工程中特别是稍微大一点的项目基本上都会用到配置,就会涉及到配置文件的读取,配置参数的读取。
常用的解析配置文件的是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']