Python中如何处理config.ini配置文件中的空值问题
Python3 处理 config.ini 空值整数字段方案
Python 标准库 configparser 读取配置文件时,DATE = 这类等号后无值的字段默认会返回空字符串,只需增加一层类型转换逻辑即可正常使用。
你的配置示例:
DATE = DATE_1 = 0 DATE_2 = 11 DATE_3 = 15
具体实现步骤
- 初始化配置解析器读取配置文件,无自定义段的配置会默认归属到
DEFAULT段下,可直接读取 - 封装统一的整数字段读取函数,自动处理空值和类型转换,可根据业务需求自定义空值的默认返回值
代码示例
import configparser # 初始化配置解析器 config = configparser.ConfigParser() # 读取配置文件,可根据实际情况调整编码格式 config.read("config.ini", encoding="utf-8") def get_int_config(key: str, default=None): # 去除读取到的值首尾的空白字符 val = config.get("DEFAULT", key).strip() # 处理空值场景 if not val: return default # 处理合法整数字段 try: return int(val) except ValueError: # 非整数格式的非法值也返回默认值,可根据需求改成抛出异常 return default # 调用测试 if __name__ == "__main__": date = get_int_config("DATE") # 空值返回默认None date_1 = get_int_config("DATE_1") # 返回整数0 date_2 = get_int_config("DATE_2") # 返回整数11 date_3 = get_int_config("DATE_3") # 返回整数15
空值规则自定义
- 若业务逻辑中空值等价于0,修改函数默认参数即可:
def get_int_config(key: str, default=0): - 若需要区分空值和主动配置的0,保留默认返回None即可,后续业务逻辑单独判断
date is None的场景做对应处理
内容的提问来源于stack exchange,提问作者Priya Sinha
相关产品推荐
相关产品推荐

