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 相关文章推荐
Python3中常用的处理时间和实现定时任务的方法的介绍
Apr 07 Python
遗传算法python版
Mar 19 Python
python基础教程项目二之画幅好画
Apr 02 Python
Python 字符串换行的多种方式
Sep 06 Python
python 快速把超大txt文件转存为csv的实例
Oct 26 Python
python3 打开外部程序及关闭的示例
Nov 06 Python
django admin.py 外键,反向查询的实例
Jul 26 Python
详解用Python爬虫获取百度企业信用中企业基本信息
Jul 02 Python
利用python对mysql表做全局模糊搜索并分页实例
Jul 12 Python
python实现一个简单RPC框架的示例
Oct 28 Python
Python做图像处理及视频音频文件分离和合成功能
Nov 24 Python
用python自动生成日历
Apr 24 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远程连接MYSQL数据库非常慢的解决方法
2008/07/05 PHP
反射调用private方法实践(php、java)
2015/12/21 PHP
javascript编程起步(第七课)
2007/01/10 Javascript
JavaScript 定义function的三种方式小结
2009/10/16 Javascript
Javascript中正则表达式的全局匹配模式分析
2011/04/26 Javascript
解析js原生方法创建表格效率测试
2013/07/08 Javascript
jquery iframe操作详细解析
2013/11/20 Javascript
Jquery Post处理后不进入回调的原因及解决方法
2014/07/15 Javascript
node.js中的http.response.getHeader方法使用说明
2014/12/14 Javascript
Javascript函数的参数
2015/07/16 Javascript
JS实现仿微博可关闭弹出层效果
2015/09/21 Javascript
基于javascript html5实现3D翻书特效
2016/03/14 Javascript
js获取指定字符前/后的字符串简单实例
2016/10/27 Javascript
Vue.js第四天学习笔记
2016/12/02 Javascript
BootStrapValidator校验方式
2016/12/19 Javascript
简单实现bootstrap选项卡效果
2017/02/08 Javascript
react-native封装插件swiper的使用方法
2018/03/20 Javascript
vue.extend与vue.component的区别和联系
2018/09/19 Javascript
Vue动态组件与异步组件实例详解
2019/02/23 Javascript
javascript 关于赋值、浅拷贝、深拷贝的个人理解
2019/11/01 Javascript
vue项目中极验验证的使用代码示例
2019/12/03 Javascript
[39:21]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.24
2019/09/10 DOTA
python pickle 和 shelve模块的用法
2013/09/16 Python
python实现自动登录人人网并采集信息的方法
2015/06/28 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
2019/09/24 Python
Tory Burch英国官方网站:美国时尚生活品牌
2017/12/06 全球购物
经典C++面试题一
2016/11/06 面试题
土木工程毕业生推荐信
2013/10/28 职场文书
保荐人的岗位职责
2013/11/19 职场文书
乡镇总工会学雷锋活动总结
2014/03/01 职场文书
大队委竞选演讲稿
2014/04/28 职场文书
会计学专业自荐信
2014/06/25 职场文书
2014年质检工作总结
2014/11/26 职场文书
家长学校教学计划
2015/01/19 职场文书
利用Python+OpenCV三步去除水印
2021/05/28 Python
Logback 使用TurboFilter实现日志级别等内容的动态修改操作
2021/08/30 Java/Android