python用Configobj模块读取配置文件


Posted in Python onSeptember 26, 2020

一、介绍

我们在项目的开发过程中应该会遇到这样的问题:我们的项目读取某个配置文件,然后才能按照配置的信息正常运行服务,当我们需要对修改服务的某些信息时,可以直接修改这个配置文件,重启服务即可,不用再去打开项目代码进行修改,这样方便了我们后期运维人员的工作。

读取配置文件信息,修改配置文件,我们可以使用Configobj和ConfigParser模块,个人推荐使用Configobj模块,因为Configobj相比于ConfigParser,优势在于Configobj模块的使用更加清晰简单(其实是我看到ConfigParser模块好像复杂一点,自己选了个简单点的模块而已,哈哈哈哈哈)。

pip install configobj

configobj的简单之处就在于,它是以字典的形式来读取/修改配置文件,就跟操作字典一样,很简单,下面看看例子就知道了。

二、configobj的使用

1、test.cfg配置文件

[server]
name = zbj
port = 9000
 
[home]
# 注释
area = huizhou

2、读取配置文件信息

from configobj import ConfigObj


# 实例化一个Configobj对象,给ConfigObj一个配置文件的路径,然后通过字典来访问成员,子段也是一个字典
cfg_path = "./test.cfg"
config = ConfigObj(cfg_path, encoding='UTF-8')

# 读配置文件
print(config['server']) # {'name': 'zbj', 'port': '9000'}
print(config['server']['name']) # zbj

3、修改配置文件

from configobj import ConfigObj


cfg_path = "./test.cfg"
config = ConfigObj(cfg_path, encoding='UTF-8')
config['server']['name'] = "clj"
# 修改完记得write写入配置文件
config.write()

python用Configobj模块读取配置文件

4、给配置文件添加新项

from configobj import ConfigObj


cfg_path = "./test.cfg"
config = ConfigObj(cfg_path, encoding='UTF-8')
config['school'] = {}
config['school']['class'] = "three"
# 只要进行了修改(包括新增删除等)的操作,记得write修改
config.write()

python用Configobj模块读取配置文件

5、删除配置文件中的某个项

from configobj import ConfigObj


cfg_path = "./test.cfg"
config = ConfigObj(cfg_path, encoding='UTF-8')
del config['school']
del config['server']['port']
config.write()

python用Configobj模块读取配置文件

6、将配置文件写入到不同的文件

from configobj import ConfigObj


cfg_path = "./test.cfg"
config = ConfigObj(cfg_path, encoding='UTF-8')
config.filename = "./test.ini"
config.write()
# 此时会新建一个test.ini文件,然后会将test.cfg的内容写入到test.ini文件

python用Configobj模块读取配置文件

7、创建新的配置文件

from configobj import ConfigObj


# 实例化一个ConfigObj对象
config = ConfigObj()
# filename指定新创建的文件路径和名称
config.filename = './my_cfg.ini'

# 写入配置信息
config['people'] = {}
config['people']['name'] = 'zzbj'
config['people']['age'] = '18'
config.write()

python用Configobj模块读取配置文件

以上就是python用Configobj模块读取配置文件的详细内容,更多关于python Configobj模块的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python中使用logging模块代替print(logging简明指南)
Jul 09 Python
以911新闻为例演示Python实现数据可视化的教程
Apr 23 Python
Python利用Beautiful Soup模块修改内容方法示例
Mar 27 Python
浅谈python迭代器
Nov 08 Python
利用Python如何实现数据驱动的接口自动化测试
May 11 Python
如何解决tensorflow恢复模型的特定值时出错
Feb 06 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
Mar 06 Python
JAVA SWT事件四种写法实例解析
Jun 05 Python
Python3+selenium配置常见报错解决方案
Aug 28 Python
Python根据字符串调用函数过程解析
Nov 05 Python
Python下opencv使用hough变换检测直线与圆
Jun 18 Python
python生成可执行exe控制Microsip自动填写号码并拨打功能
Jun 21 Python
Python内存泄漏和内存溢出的解决方案
Sep 26 #Python
python 两种方法修改文件的创建时间、修改时间、访问时间
Sep 26 #Python
如何使用Python调整图像大小
Sep 26 #Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
Sep 25 #Python
PyCharm2020最新激活码+激活码补丁(亲测最新版PyCharm2020.2激活成功)
Nov 25 #Python
详解Python中第三方库Faker
Sep 25 #Python
python对批量WAV音频进行等长分割的方法实现
Sep 25 #Python
You might like
php 文件上传代码(限制jpg文件)
2010/01/05 PHP
strpos() 函数判断字符串中是否包含某字符串的方法
2019/01/16 PHP
php获取是星期几的的一些常用姿势
2019/12/15 PHP
jQuery 选择器、DOM操作、事件、动画
2010/11/25 Javascript
js获取电脑分辨率的思路及操作
2013/11/22 Javascript
JS选项卡动态替换banner图片路径的方法
2015/05/11 Javascript
JavaScript类的写法
2016/09/17 Javascript
jQuery中delegate()方法的用法详解
2016/10/13 Javascript
JS表单数据验证的正则表达式(常用)
2017/02/18 Javascript
html+javascript+bootstrap实现层级多选框全层全选和多选功能
2017/03/09 Javascript
node.js学习之事件模块Events的使用示例
2017/09/28 Javascript
原生js的ajax和解决跨域的jsonp(实例讲解)
2017/10/16 Javascript
详解Ubuntu安装angular-cli遇到的坑
2018/09/08 Javascript
NodeJS 实现多语言的示例代码
2018/09/11 NodeJs
支付宝小程序tabbar底部导航
2018/11/06 Javascript
jquery简单实现纵向的无缝滚动代码实例
2019/04/01 jQuery
解决layui 表单元素radio不显示渲染的问题
2019/09/04 Javascript
JavaScript组合设计模式--改进引入案例分析
2020/05/23 Javascript
基于 Vue 的 Electron 项目搭建过程图文详解
2020/07/22 Javascript
解决vue prop传值default属性如何使用,为何不生效的问题
2020/09/21 Javascript
js canvas实现五子棋小游戏
2021/01/22 Javascript
进一步理解Python中的函数编程
2015/04/13 Python
python matplotlib中文显示参数设置解析
2017/12/15 Python
用Python+OpenCV对比图像质量的几种方法
2019/07/15 Python
django迁移数据库错误问题解决
2019/07/29 Python
python带参数打包exe及调用方式
2019/12/21 Python
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
2020/04/20 Python
HTML5标签与HTML4标签的区别示例介绍
2013/07/18 HTML / CSS
优秀党员主要事迹
2014/01/19 职场文书
军人违纪检讨书
2014/02/04 职场文书
房地产项目建议书
2014/03/12 职场文书
手机银行营销方案
2014/03/14 职场文书
应届本科毕业生求职信
2014/07/23 职场文书
征用土地赔偿协议书
2014/09/26 职场文书
我的法兰西岁月观后感
2015/06/09 职场文书
小学中队长竞选稿
2015/11/20 职场文书