我想将 Python 中的配置文件完全读取到数据结构中,而无需显式“获取”每个值。这样做的原因是我打算以编程方式修改这些值(例如,我将有一个变量说我想修改 [Foo] Bar = 1
为 [Foo ] Bar = 2
),目的是根据我的更改编写一个新的配置文件。
目前,我正在手读所有的值:
parser = SafeConfigParser()
parser.read(cfgFile)
foo_bar1 = int(parser.get('Foo', 'Bar1'))
foo_bar2 = int(parser.get('Foo', 'Bar2'))
我想要的(在 Google 上找不到太多)是一种将它们读入列表的方法,让它们很容易被识别,这样我就可以从列表中提取该值并进行更改。
基本上将其引用为(或类似于):
config_values = parser.read(cfgFile)
foo_bar1 = config_values('Foo.bar1')
最佳答案
抱歉,如果我误解了——这看起来确实与你所拥有的没什么不同——看起来一个非常简单的子类就可以工作:
class MyParser(SafeConfigParser):
def __call__(self,path,type=int):
return type(self.get(*path.split('.')))
当然,您实际上也需要一个子类。您可以将 __call__
中的内容放入一个单独的函数中......
关于python - 在 Python 中自动读取配置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13309914/