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调用C/C++动态链接库的方法详解
Jul 22 Python
解析Python中while true的使用
Oct 13 Python
Python中MySQL数据迁移到MongoDB脚本的方法
Apr 28 Python
Python黑帽编程 3.4 跨越VLAN详解
Sep 28 Python
一道python走迷宫算法题
Jan 22 Python
Python threading的使用方法解析
Aug 28 Python
PyTorch加载预训练模型实例(pretrained)
Jan 17 Python
PyTorch中Tensor的数据类型和运算的使用
Sep 03 Python
MoviePy常用剪辑类及Python视频剪辑自动化
Dec 18 Python
python中time.ctime()实例用法
Feb 03 Python
Pytest之测试命名规则的使用
Apr 16 Python
如何使用flask将模型部署为服务
May 13 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语法(5)
2006/10/09 PHP
PHP mkdir()无写权限的问题解决方法
2014/06/19 PHP
Yii2框架可逆加密简单实现方法
2017/08/25 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
2020/01/26 PHP
laravel框架实现敏感词汇过滤功能示例
2020/02/15 PHP
PHP实现限制域名访问的实现代码(本地验证)
2020/09/13 PHP
ASP.NET jQuery 实例1(在TextBox里面创建一个默认提示)
2012/01/13 Javascript
12个超实用的JQuery代码片段
2015/11/02 Javascript
关于javascript中dataset的问题小结
2015/11/16 Javascript
jQuery动画显示和隐藏效果实例演示(附demo源码下载)
2015/12/31 Javascript
JS中Object对象的原型概念基础
2018/01/29 Javascript
Vue Socket.io源码解读
2018/02/07 Javascript
JS获取动态添加元素的方法详解
2019/07/31 Javascript
使用vue实现多规格选择实例(SKU)
2019/08/23 Javascript
js实现弹幕墙效果
2020/12/10 Javascript
[01:02:20]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
浅谈django model的get和filter方法的区别(必看篇)
2017/05/23 Python
python 调用c语言函数的方法
2017/09/29 Python
python实现机器学习之元线性回归
2018/09/06 Python
python开发游戏的前期准备
2019/05/05 Python
Python如何在bool函数中取值
2020/09/21 Python
python 利用Pyinstaller打包Web项目
2020/10/23 Python
python实现控制台输出颜色
2021/03/02 Python
澳大利亚自然和有机的健康美容产品一站式商店:Ziani Beauty
2017/12/28 全球购物
Clos19英国:高档香槟、葡萄酒和烈酒在线购物平台
2020/07/10 全球购物
Linux操作面试题
2015/02/11 面试题
大学生怎样进行自我评价
2013/12/07 职场文书
国际金融专业大学生职业生涯规划书
2013/12/28 职场文书
平面设计专业求职信
2014/08/09 职场文书
年终工作总结范文2014
2014/11/27 职场文书
2015年妇委会工作总结
2015/05/22 职场文书
大学生党课心得体会
2016/01/07 职场文书
医院岗前培训心得体会
2016/01/08 职场文书
如何利用JavaScript实现二叉搜索树
2021/04/02 Javascript
Python中itertools库的四个函数介绍
2022/04/06 Python
git中cherry-pick命令的使用教程
2022/06/25 Servers