Python读写配置文件模块--Configobj
一、介绍
我们在项目的开发过程中应该会遇到这样的问题:我们的项目读取某个配置文件,然后才能按照配置的信息正常运行服务,当我们需要对修改服务的某些信息时,可以直接修改这个配置文件,重启服务即可,不用再去打开项目代码进行修改,这样方便了我们后期运维人员的工作。
读取配置文件信息,修改配置文件,我们可以使用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()
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()
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()
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文件
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 读写配置文件
使用python读写配置文件,写个demo测试一下. #!/usr/bin/env python import os import ConfigParser # 如果文件不存在,就穿件文件. if o ...
- Python解析配置文件模块:ConfigPhaser
算是前几周落下的博客补一篇.介绍一下python中如何解析配置文件.配置文件常用的几种格式:xml,json,还有ini.其中ini算是最简单的一种格式,因为小,解析的速度也要比xml和json快(并 ...
- Python之配置文件模块 ConfigParser
写项目肯定用的到配置文件,这次学习一下python中的配置文件模块 ConfigParser 安装就不说了,pip一下即可,直接来个实例 配置文件 project.conf [db] host = ' ...
- python读写配置文件使用总结与避坑指南
关于今天的内容 最近拿python在写项目部署的相关集成代码,本来两天的工作量,硬是在来回的需求变更中,拖到了一周的时间.今天算是暂时告一段落了.这次由于涉及多个系统的调用和配置参数,代码开发中出现了 ...
- python读写配置文件
#coding:utf-8 import ConfigParser class Conf(): def __init__(self,name): self.name = name self.cp = ...
- python-ConfigParser模块【读写配置文件】
对python 读写配置文件的具体方案的介绍 1,函数介绍 import configParser 如果Configparser无效将导入的configParser 的C小写 1.1.读取配置文件 - ...
- 【python】配置文件
来源:http://developer.51cto.com/art/201003/189885.htm python 读写配置文件在实际应用中具有十分强大的功能,在实际的操作中也有相当简捷的操作方案, ...
- Python-通过configparser读写配置文件
Python读写配置文件: 1.创建配置文件(文件名以.conf或.ini结束的文件表示配置文件) 2.导入所需模块 OS, configparser >>> import os & ...
- 用ConfigParser模块读写配置文件——Python
对于功能较多.考虑用户体验的程序,配置功能是必不可少的,如何存储程序的各种配置? 1)可以用全局变量,不过全局变量具有易失性,程序崩溃或者关闭之后配置就没了,再者配置太多,将变量分配到哪里也是需要考虑 ...
随机推荐
- Celery&Flower文档笔记
1.Celery # tasks.py from celery import Celery app = Celery('tasks', broker='redis://localhost:6379', ...
- QUIC协议和HTTP3.0技术研究
QUIC:基于UDP的安全可靠的HTTP/2传输协议 摘要 QUIC(Quick UDP Internet Connection)是一个新的基于UDP的管线化技术和安全传输协议. QUIC提供: 和H ...
- Apple Watch Series 6 屏幕误触放大后无法还原问题和解决方案
Apple Watch Series 6 屏幕误触放大后无法还原问题和解决方案 shit Apple,只能放大,不能缩小! 解决方案 关闭缩放功能 https://support.apple.com/ ...
- infinite scroll blogs
infinite scroll blogs 无限滚动 blogs beacon api https://www.sitepoint.com/introduction-beacon-api/ Histo ...
- SVG 与 Canvas 对比
SVG 与 Canvas 对比 技术选型 SVG vs Canvas 应用场景 性能 GPU 加速 XML 数据存储 Canvas 2D Canvas 3D WebGL / OpenGL ES thr ...
- 3D 室内装修线设计软件
3D 室内装修线设计软件 WebGL & canvas https://threejs.org/ xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用 ...
- uniapp 扫二维码跳转
在h5和wxapp中 生成qrcode的组件 https://ext.dcloud.net.cn/plugin?id=39 wx小程序扫二位码文档 生成链接时 computed: { ...mapSt ...
- element-ui的树型结构图,半选状态数据给后台后,返回数据带有半选父节点的剔除展示
// html <h2 class="text-gray">功能权限</h2><el-tree :data="permissionList& ...
- .Net Core 3.1浏览器后端服务(三) Swagger引入与应用
一.前言 前后端分离的软件开发方式已逐步成为互联网项目开发的业界标准,前后端分离带来了诸多好处的同时,也带来了一些弊端. 接口文档的维护就是其中之一,起初前后端约定文档规范,开发的很愉快,随着时间推移 ...
- js异步回调Async/Await与Promise区别 新学习使用Async/Await
Promise,我们了解到promise是ES6为解决异步回调而生,避免出现这种回调地狱,那么为何又需要Async/Await呢?你是不是和我一样对Async/Await感兴趣以及想知道如何使用,下面 ...