首页 > 编程语言 >【configparser】Python解析配置文件的模块使用总结

【configparser】Python解析配置文件的模块使用总结

时间:2023-05-09 11:23:09浏览次数:45  
标签:option 配置文件 Python section name config configparser

简介

configparser 是 Pyhton 标准库中用来解析配置文件的模块,并且内置方法和字典非常接近。Python2.x 中名为 ConfigParser,3.x 已更名小写,并加入了一些新功能。

调用

import configparser
config = configparser.ConfigParser()
config.read("config.ini")

常用方法

# 获取所用的section节点
config.sections()  # 返回列表

# 获取指定section的options(即keys)
options = config.options("section_name")

# 获取指点section下指定option的值
val = config.get("section_name", "option")

# 修改某个option的值,如果不存在则会出创建
config.set("section_name", "option", "val")  #修改db_port的值为69

# 检查section或option是否存在,返回bool值
config.has_section("section")
config.has_option("section", "option")

# 添加section或option
if not config.has_section("section"):  # 检查是否存在该section
    config.add_section("section")
if not config.has_option("section", "option"):  # 检查是否存在该option
    config.set("section", "option", "val")

# 删除section或option
config.remove_section("section")  # 整个section下的所有内容都将删除
config.remove_option("section", "option")

# 保存并写入文件
config.write(open("config.ini", "w"))

# 除此以外,可以类似字典用键值对获取对应值,如:
section = config["section"]
option= config["section"]["option"]

其它

[DEFAULT] 一般包含 ini 格式配置文件的默认项,所以 configparser 部分方法会自动跳过这个 section 。
前面已经提到 sections() 是获取不到的,还有删除方法对 [DEFAULT] 也无效。

文档

configparser 官方文档

标签:option,配置文件,Python,section,name,config,configparser
From: https://www.cnblogs.com/xhltk316/p/17384347.html

相关文章

  • python相关的一些小便条
    1.关于 Nomodulenamed'PIL' 如果是报错这个,不能直接pipinstallPIL,需要装下面的pipinstallpillow 2.关于Nomodulenamed'qcloud_cos'这个是腾讯云存储的组件pipinstall-Ucos-python-sdk-v53.关于文件命名如果文件命名跟命令冲突,会有可能......
  • python与go的对接
    python与go的对接在项目中遇到的问题,go写的程序需要被python调用,要将项目打包成.so文件首先要确保gobuild能编译出可执行文件,再打包成.so文件,因为原理与gobuild是一样的编译用测试项目来记录解决过程测试环境:windows64源码目录结构:---test|___Add___add.go|___......
  • ZLMediaKit报错,程序启动失败,请修改配置文件中端口号后重试!
    报错信息如下:2023-05-0910:33:22.819W[MediaServer][13423-MediaServer]sockutil.cpp:421bind_sock6|Bindsocketfailed:addressalreadyinuse2023-05-0910:33:22.819W[MediaServer][13423-MediaServer]main.cpp:366start_main|端口占用或无权限:Listenon:......
  • python 小技巧, 列表生成式比 filter(lambda x:x>=0,data) 快, iteritems()方法,
    题目经timeit测试列表生成式比filter(lambdax:x>=0,data)快python2的dict的iteritems()方法,pyhton3可以看看有没有......
  • Python_16 session、cookie 鉴权
    一、查缺补漏1.pprint https://www.cnblogs.com/yjybupt/p/10669988.html https://www.cnblogs.com/wongbingming/p/12854618.html 2.鉴权: http://testingpai.com/article/1621929988356 3.importjson json.du......
  • Python爬虫零基础教学第二天
    Python爬虫高级开发/大数据抓取/从入门到精通/商业项目实战(2)开始时间2023-05-08 21:26:37结束时间2023-05-08 23:08:20一、调试模式的介绍 鼠标右键,在出现的选项中找到检查进入调试模式,或者按键盘上的f12键进入调试模式。  二、Cookie使用cookie进行会话保持 ......
  • 在 Python 中将 Tqdm 与 Asyncio 结合使用
    动动发财的小手,点个赞吧!简介困扰在Python中使用并发编程来提高效率对于数据科学家来说并不罕见。在后台观察各种子进程或并发线程以保持我的计算或IO绑定任务的顺序总是令人满意的。但是还有一点困扰我的是,当我在后台并发处理成百上千个文件或者执行成百上千个进程时,我总......
  • Python - 并发模型
    importitertoolsimporttimefromthreadingimportThread,Eventdefspin(msg:str,done:Event)->None:forcharinitertools.cycle(r'\|/-'):#1status=f'\r{char}{msg}'#2print(status,end=''......
  • python14:递归函数
    概念:在一个函数内部不调用其他函数,而是自己本身的话,这个函数就是递归函数。优点:看起来简单缺点:容易导致栈溢出,占内存。例子:defjiecheng(n):#result=1#foriteminrange(1,n+1):#result*=item#pass#returnresult##print('结果为:{}'.form......
  • Python + Selenium,分分钟搭建 Web 自动化测试框架!
    在程序员的世界中,一切重复性的工作,都应该通过程序自动执行。「自动化测试」就是一个最好的例子。随着互联网应用开发周期越来越短,迭代速度越来越快,只会点点点,不懂开发的手工测试,已经无法满足如今的业务要求,只能被企业逐步裁员淘汰。「自动化测试和持续测试」就成为了业界主流。......