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爬虫入门教程之糗百图片爬虫代码分享
Sep 02 Python
跟老齐学Python之print详解
Sep 28 Python
python文件读写操作与linux shell变量命令交互执行的方法
Jan 14 Python
python编写朴素贝叶斯用于文本分类
Dec 21 Python
OpenCV+python手势识别框架和实例讲解
Aug 03 Python
python从zip中删除指定后缀文件(推荐)
Dec 05 Python
Numpy之reshape()使用详解
Dec 26 Python
基于pytorch 预训练的词向量用法详解
Jan 06 Python
Python对wav文件的重采样实例
Feb 25 Python
Python龙贝格法求积分实例
Feb 29 Python
python和php哪个容易学
Jun 19 Python
python实现学生信息管理系统(面向对象)
Jun 05 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将数据导入到Foxmail
2006/10/09 PHP
Joomla语言翻译类Jtext用法分析
2016/05/05 PHP
thinkphp3.2.3版本的数据库增删改查实现代码
2016/09/22 PHP
JavaScript类和继承 this属性使用说明
2010/09/03 Javascript
js控制的回到页面顶端goTop的代码实现
2013/03/20 Javascript
JS继承--原型链继承和类式继承
2013/04/08 Javascript
javascript实现焦点滚动图效果 具体方法
2013/06/24 Javascript
js实现文本框中焦点在最后位置
2014/03/04 Javascript
js实现百度联盟中一款不错的图片切换效果完整实例
2015/03/04 Javascript
牛叉的Jquery——Jquery与DOM对象的互相转换及DOM的三种操作
2015/10/29 Javascript
Javascript删除指定元素节点的方法
2016/06/21 Javascript
Js动态设置rem来实现移动端字体的自适应代码
2016/10/14 Javascript
详解Python中logging日志模块在多进程环境下的使用
2016/12/26 Javascript
JS匹配日期和时间的正则表达式示例
2017/05/12 Javascript
详解在Vue中有条件地使用CSS类
2017/09/30 Javascript
微信小程序左右滑动的实现代码
2017/12/15 Javascript
HTML+JavaScript实现扫雷小游戏
2019/09/30 Javascript
Python中规范定义命名空间的一些建议
2016/06/04 Python
Python字典,函数,全局变量代码解析
2017/12/18 Python
Python numpy.array()生成相同元素数组的示例
2018/11/12 Python
解决pyinstaller打包发布后的exe文件打开控制台闪退的问题
2019/06/21 Python
Python使用type关键字创建类步骤详解
2019/07/23 Python
如何将你的应用迁移到Python3的三个步骤
2019/12/22 Python
使用Nibabel库对nii格式图像的读写操作
2020/07/01 Python
C#笔试题集合
2013/06/21 面试题
土木工程毕业生自荐信
2013/09/21 职场文书
银行门卫岗位职责
2013/12/29 职场文书
自我鉴定写作要点
2014/01/17 职场文书
小学生秋游活动方案
2014/02/23 职场文书
创先争优一句话承诺
2014/05/29 职场文书
区长工作作风个人整改措施
2014/10/01 职场文书
三八节活动简报
2015/07/20 职场文书
2016年优秀团员事迹材料
2016/02/25 职场文书
2016秋季运动会开幕词
2016/03/04 职场文书
SpringBoot+Vue+JWT的前后端分离登录认证详细步骤
2021/09/25 Java/Android
我家女友可不止可爱呢 公开OP主题曲无字幕动画MV
2022/04/11 日漫