【发布时间】:2015-07-26 11:26:32
【问题描述】:
我正在按照示例从以下https://wiki.python.org/moin/ConfigParserExamples 中读取配置文件 但我得到一个 keyError 并且不知道为什么。它正在读取文件,我什至可以打印这些部分。我想我在做一些非常愚蠢的事情。非常感谢任何帮助。
这里是代码...
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import ConfigParser
import logging
config_default=ConfigParser.ConfigParser()
class Setting(object):
def get_setting(self, section, my_setting):
default_setting = self.default_section_map(section)[my_setting]
return default_setting
def default_section_map(self,section):
dict_default = {}
config_default.read('setting.cfg')
sec=config_default.sections()
options_default = config_default.options(section)
logging.info('options_default: {0}'.format(options_default))
for option in options_default:
try:
dict_default[option] = config_default.get(section, option)
if dict_default[option] == -1:
print("skip: %s" % option)
except:
print("exception on %s!" % option)
dict_default[option] = None
return dict_default
return complete_path
if __name__ == '__main__':
conf=Setting()
host=conf.get_setting('mainstuff','name')
#host=conf.setting
print 'host setting is :' + host
我的配置文件名为 setting.cfg,看起来像这样...
[mainstuff]
name = test1
domain = test2
[othersection]
database_ismaster = no
database_master = test3
database_default = test4
[mysql]
port = 311111
user = someuser
passwd = somecrazylongpassword
[api]
port = 1111
错误是这样的......
域异常! Traceback(最近一次通话最后一次):文件 “./t.py”,第 51 行,在 host=conf.get_setting('mainstuff','name') 文件“./t.py”,第 14 行,在 get_setting default_setting = self.default_section_map(section)[my_setting] KeyError: 'name'
【问题讨论】:
标签: python-2.7 configparser keyerror