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 2与Python 3版本和编码的对比
Feb 14 Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
Dec 18 Python
Python中垃圾回收和del语句详解
Nov 15 Python
分享Python切分字符串的一个不错方法
Dec 14 Python
Python实现将通信达.day文件读取为DataFrame
Dec 22 Python
简单了解python中的与或非运算
Sep 18 Python
python3爬取torrent种子链接实例
Jan 16 Python
python实现银行实战系统
Feb 26 Python
Python web如何在IIS发布应用过程解析
May 27 Python
10行Python代码实现Web自动化管控的示例代码
Aug 14 Python
详解Python类和对象内容
Jun 22 Python
Python os和os.path模块详情
Apr 02 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
《破坏领主》销量已超100万 未来将继续开发新内容
2020/03/08 其他游戏
可快速识别放射性物质-国外大神教你diy一个开放式辐射探测器
2020/03/12 无线电
PHP命名空间与自动加载类详解
2018/09/04 PHP
JavaScript 学习笔记(四)
2009/12/31 Javascript
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
关于Javascript 对象(object)的prototype
2014/05/09 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
2015/04/12 Javascript
thinkphp实现无限分类(使用递归)
2015/12/19 Javascript
js点击文本框弹出可选择的checkbox复选框
2016/02/03 Javascript
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
2016/12/15 Javascript
webpack3里使用uglifyjs压缩js时打包报错的解决
2018/12/13 Javascript
vue实现跨域的方法分析
2019/05/21 Javascript
mpvue实现微信小程序快递单号查询代码
2020/04/03 Javascript
Python交换变量
2008/09/06 Python
Python聊天室实例程序分享
2016/01/05 Python
python中模块查找的原理与方法详解
2017/08/11 Python
tensorflow实现softma识别MNIST
2018/03/12 Python
Python+OpenCV图片局部区域像素值处理改进版详解
2019/01/23 Python
python中import与from方法总结(推荐)
2019/03/21 Python
基于Python函数和变量名解析
2019/07/19 Python
在Python中使用MongoEngine操作数据库教程实例
2019/12/03 Python
Python实现钉钉订阅消息功能
2020/01/14 Python
巧用CSS3 border实现图片遮罩效果代码
2012/04/09 HTML / CSS
CSS3制作半透明边框(Facebox)类似渐变
2012/12/09 HTML / CSS
全球性的在线婚纱礼服工厂:27dress.com
2019/03/21 全球购物
优秀的自荐信要注意哪些
2014/01/03 职场文书
一位农村小子的自荐信
2014/04/07 职场文书
企业口号大全
2014/06/12 职场文书
欢迎领导检查标语
2014/06/27 职场文书
社区创先争优承诺书
2014/08/30 职场文书
护士工作失误检讨书
2014/09/14 职场文书
让生命充满爱观后感
2015/06/08 职场文书
如何使用Maxwell实时同步mysql数据
2021/04/08 MySQL
Python面向对象之成员相关知识总结
2021/06/24 Python
Python操作CSV格式文件的方法大全
2021/07/15 Python
MySQL常见优化方案汇总
2022/01/18 MySQL