From 3473a0a5ec963103119c5f7c932e77c67d17fd35 Mon Sep 17 00:00:00 2001 From: "qichi.liang" Date: Sat, 3 Jan 2026 21:52:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=B8=83=E5=B0=94=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E5=80=BC=E7=B1=BB=E5=9E=8B=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 解决 '_bool' object has no attribute 'lower' 错误 - 在 _get_bool_value 函数中添加类型检查 - 支持 YAML 布尔值和字符串布尔值的正确处理 - 确保程序在所有设备上正常运行 --- app/config.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/app/config.py b/app/config.py index 472829c..07fa2a0 100644 --- a/app/config.py +++ b/app/config.py @@ -78,7 +78,17 @@ def _get_int_value(yaml_config: Optional[Dict[str, Any]], env_key: str, yaml_pat def _get_bool_value(yaml_config: Optional[Dict[str, Any]], env_key: str, yaml_path: List[str], default: bool) -> bool: """获取布尔配置值""" value = _get_config_value(yaml_config, env_key, yaml_path, str(default).lower()) - return value.lower() == "true" + + # 如果值已经是布尔类型,直接返回 + if isinstance(value, bool): + return value + + # 如果是字符串,转换为布尔值 + if isinstance(value, str): + return value.lower() == "true" + + # 其他类型转换为布尔值 + return bool(value) # 加载YAML配置