python - 在 Python 中自动读取配置值

标签 python configuration-files python-2.6

我想将 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/

相关文章:

python - 在 python 中处理大型密集矩阵

python - View 功能之外的 Django HTTP 重定向

python - Python 中的最小或最大赋值运算符

python - 使用 datetime.timedelta 进行时间计算

linux - 在 Ubuntu 13.10 上查找 Rserve Rconfig 文件

Python 2.6 TreeMap/SortedDictionary?

python - 使用 Python 错误填充 PostgreSQL 数据库

python - peewee - 与 Database() 初始化分开定义模型

app-config - 更改 Visual Studio 包中的配置文件

python - 配置文件的跨平台寻址