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使用multiprocessing模块实现带回调函数的异步调用方法
Apr 18 Python
python图像处理之反色实现方法
May 30 Python
简介Python的collections模块中defaultdict类型的用法
Jul 07 Python
python爬取淘宝商品详情页数据
Feb 23 Python
解决python matplotlib imshow无法显示的问题
May 24 Python
Flask框架Flask-Login用法分析
Jul 23 Python
Python 正则表达式 re.match/re.search/re.sub的使用解析
Jul 22 Python
python的faker库用法
Nov 28 Python
python线程池如何使用
May 28 Python
手把手教你如何用Pycharm2020.1.1配置远程连接的详细步骤
Aug 07 Python
常用的10个Python实用小技巧
Aug 10 Python
Pytorch中expand()的使用(扩展某个维度)
Jul 15 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提取数据库内容中的图片地址并循环输出
2010/03/21 PHP
生成ubuntu自动切换壁纸xml文件的php代码
2010/07/17 PHP
PHP写杨辉三角实例代码
2011/07/17 PHP
PHP中Restful api 错误提示返回值实现思路
2016/04/12 PHP
如何正确配置Nginx + PHP
2016/07/15 PHP
PHP入门教程之会话控制技巧(cookie与session)
2016/09/11 PHP
创建无限极分类树型结构的简单方法
2017/06/20 PHP
PHP长网址与短网址的实现方法
2017/10/13 PHP
Laravel 框架路由原理与路由访问实例分析
2020/04/14 PHP
从javascript语言本身谈项目实战
2006/12/27 Javascript
基于jquery的点击链接插入链接内容的代码
2012/07/31 Javascript
jQuery随机切换图片的小例子
2013/04/18 Javascript
jquery五角星评分插件示例分享
2014/02/21 Javascript
jQuery中ajax的get()方法用法实例
2014/12/26 Javascript
详解node Async/Await 更好的异步编程解决方案
2018/05/10 Javascript
详解webpack的proxyTable无效的解决方案
2018/06/15 Javascript
Vue-router 切换组件页面时进入进出动画方法
2018/09/01 Javascript
vue 解决兄弟组件、跨组件深层次的通信操作
2020/07/27 Javascript
vue 单页应用和多页应用的优劣
2020/10/22 Javascript
python实现基于两张图片生成圆角图标效果的方法
2015/03/26 Python
python中pass语句用法实例分析
2015/04/30 Python
Python 基础教程之包和类的用法
2017/02/23 Python
Python操作csv文件实例详解
2017/07/31 Python
使用Selenium破解新浪微博的四宫格验证码
2018/10/19 Python
python使用百度文字识别功能方法详解
2019/07/23 Python
python输出带颜色字体实例方法
2019/09/01 Python
wxPython色环电阻计算器
2019/11/18 Python
有关pycharm登录github时有的时候会报错connection reset的问题
2020/09/15 Python
python实现图书馆抢座(自动预约)功能的示例代码
2020/09/29 Python
HTML5页面嵌入小程序没有返回按钮及返回页面空白的问题
2020/05/28 HTML / CSS
意大利高端时尚买手店:Stefania Mode
2018/03/01 全球购物
毕业生幼师求职自荐信
2013/10/01 职场文书
劳动竞赛活动总结
2014/05/05 职场文书
2015年世界艾滋病日活动总结
2015/03/24 职场文书
行政二审代理词
2015/05/25 职场文书
小平您好观后感
2015/06/09 职场文书