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
Python3 Random模块代码详解
Dec 04 Python
Python OpenCV 直方图的计算与显示的方法示例
Feb 08 Python
深入浅析Python中的迭代器
Jun 04 Python
pandas的连接函数concat()函数的具体使用方法
Jul 09 Python
Python 200行代码实现一个滑动验证码过程详解
Jul 11 Python
django 单表操作实例详解
Jul 30 Python
Pytoch之torchvision.transforms图像变换实例
Dec 30 Python
python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例
Feb 28 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
Mar 23 Python
利用Python实现朋友圈中的九宫格图片效果
Sep 03 Python
Python序列化模块JSON与Pickle
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
Terran兵种对照表
2020/03/14 星际争霸
Session的工作方式
2006/10/09 PHP
PHP foreach循环使用详解与实例代码
2010/05/08 PHP
php统计文件大小,以GB、MB、KB、B输出
2011/05/29 PHP
PHP数组实例总结与说明
2011/08/23 PHP
支持中文的php加密解密类代码
2011/11/27 PHP
PHP实现 APP端微信支付功能
2018/06/22 PHP
PHP中非常有用却鲜有人知的函数集锦
2019/08/17 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
2020/06/05 PHP
解析使用JS 清空File控件的路径值
2013/07/08 Javascript
jQuery的one()方法用法实例
2015/01/19 Javascript
javascript弹出页面回传值的方法
2015/01/28 Javascript
javascript实现 百度翻译 可折叠的分享按钮列表
2015/03/12 Javascript
js实现的tab标签切换效果代码分享
2015/08/25 Javascript
JavaScript制作弹出层效果
2016/12/02 Javascript
Angular多选、全选、批量选择操作实例代码
2017/03/10 Javascript
使用vue2.6实现抖音【时间轮盘】屏保效果附源码
2019/04/24 Javascript
JavaScript中this的全面解析及常见实例
2019/05/14 Javascript
微信小程序自定义导航栏(模板化)
2019/11/15 Javascript
python计算程序开始到程序结束的运行时间和程序运行的CPU时间
2013/11/28 Python
Python实现检测文件MD5值的方法示例
2018/04/11 Python
对pandas里的loc并列条件索引的实例讲解
2018/11/15 Python
django2.0扩展用户字段示例
2019/02/13 Python
python3+PyQt5 数据库编程--增删改实例
2019/06/17 Python
Django多个app urls配置代码实例
2020/11/26 Python
美国五金商店:Ace Hardware
2018/03/27 全球购物
门诊手术室工作制度
2014/01/30 职场文书
销售经理工作职责
2014/02/03 职场文书
公司副总经理任命书
2014/06/05 职场文书
国贸专业毕业求职信
2014/06/11 职场文书
月度优秀员工获奖感言
2014/08/16 职场文书
2014年教育教学工作总结
2014/11/13 职场文书
高校自主招生教师推荐信
2015/03/23 职场文书
2015年妇幼保健工作总结
2015/05/19 职场文书
催款函范文
2015/06/24 职场文书
关于springboot配置druid数据源不生效问题(踩坑记)
2021/09/25 Java/Android