python--configparser--读取配置文件config.ini
ConfigParser 是用来读取配置文件的包。
模块介绍https://www.cnpython.com/pypi/configparser
ini配置文件的格式如下:中括号“[ ]”内包含的为section。section 下面为类似于key-value 的配置内容。
配置文件config.ini模板
[db] db_host = 127.0.0.1 db_port = 69 db_user = root db_pass = root host_port = 69 [concurrent] thread = 10 processor = 20
python模板
1、获取指定section 的options。即将配置文件某个section 内key 读取到列表中:
import configparser #创建配置解析器对象,并读取配置文件: config = configparser.ConfigParser() config.read("D:/python/config/config.ini", encoding="utf-8") rr = config['db']['db_host'] #读取[db]下的db_host的值,默认是str
r = config.get("db", "db_host") #读取[db]下的db_host的值,默认是str # r1 = config.getint("db", "k1") #将获取到值转换为int型 # r2 = config.getboolean("db", "k2" ) #将获取到值转换为bool型 # r3 = config.getfloat("db", "k3" ) #将获取到值转换为浮点型 print(r)
print(rr) #运行结果 # 127.0.0.1
# 127.0.0.1
2、获取所有的section节点
import configparser config = configparser.ConfigParser() config.read("ini", encoding="utf-8") print(config.sections()) #运行结果 # ['db', 'concurrent']
3、获取指定section 的options。即将配置文件某个section 内key 读取到列表中:
import configparser config = configparser.ConfigParser() config.read("ini", encoding="utf-8") r = config.options("db") print(r) #运行结果 # ['db_host', 'db_port', 'db_user', 'db_pass', 'host_port']
4、获取指点section的所用配置信息
import configparser config = configparser.ConfigParser() config.read("ini", encoding="utf-8") r = config.items("db") print(r) #运行结果 #[('db_host', '127.0.0.1'), ('db_port', '69'), ('db_user', 'root'), ('db_pass', 'root'), ('host_port', '69')]
5、修改某个option的值,如果不存在则会出创建
# 修改某个option的值,如果不存在该option 则会创建 import configparser config = configparser.ConfigParser() config.read("ini", encoding="utf-8") config.set("db", "db_port", "69") #修改db_port的值为69 config.write(open("ini", "w")) #写回文件,生效。上面只是对内存数据修改
6、检查section或option是否存在,bool值
import configparser config = configparser.ConfigParser() config.has_section("section") #是否存在该section config.has_option("section", "option") #是否存在该option
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类