python - 如何在python中自动解析 bool 格式的conf文件中的配置选项?

标签 python python-2.7 parsing python-3.x configuration-files

假设我在[Bulutkare]部分下有这样的配置选项:

[Bulutkare]
title = www.bulutkare.com
subtitle = www.bulutkare.com
id = 127
web_site = www.bulutkare.com
boolean_option = True

如何boolean_option行解析为Python模块中的 bool 变量自动?我知道,可以使用这样的代码来解析:

boolean_opt = config_parser.get("Bulutkare", "boolean_option")

但 boolean_opt 将选项视为字符串。我的问题是“我的Python代码如何自动识别这个选项是 bool 值?”。因此,我的代码可以将 boolean_opt 初始化为 bool 变量。

这可能吗?

最佳答案

我认为你想使用getboolean方法:

boolean_opt = config_parser.getboolean("Bulutkare", "boolean_option")

如果您无法获得一致的配置选项类型,您可以像这样包装 get 调用:

def get_boolean_or_string(option):
    if option == 'True':
        return True
    elif option == 'False':
        return False
    else:
        return option

boolean_opt = get_boolean_or_string(config_parser.get("Bulutkare", "boolean_option"))

如果您不介意导入ast:

import ast

def get_boolean_or_string(option):
    try:
        return ast.literal_eval(option)
    except ValueError:
        return option

boolean_opt = get_boolean_or_string(config_parser.get("Bulutkare", "boolean_option"))

关于python - 如何在python中自动解析 bool 格式的conf文件中的配置选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28497722/

相关文章:

javascript - python Selenium : Remove certain characters from web page body

python - Six.u() 取消转义 HTML 字符串

xml - 如何解释 jacoco.xml 文件?

php - mobwrite 问题 - 守护进程不会启动

python - 按名称动态地将参数传递给函数

python-2.7 - Tensorflow + Keras + Convolution2d : ValueError: Filter must not be larger than the input: Filter: (5, 5) 输入 : (3, 350)

C - 解析带有未知数量参数的命令行

python - 如何更改给定的 JSON 文件 (Python)?

Python Unicode CSV 导出(使用 Django)

python - django - 模型 unicode() 显示外键对象属性