Python操作配置文件ini的三种方法讲解


Posted in Python onFebruary 22, 2019

python 操作配置文件ini的三种方法

方法一:crudini 命令

说明

crudini命令是Linux下的一个操作配置文件的命令工具

用法

crudini --set [--existing] config_file section [param] [value] # 修改配置文件内容
crudini --get [--format=sh|ini] config_file [section] [param] # 获取配置文件内容
crudini --del [--existing] config_file section [param]     # 删除配置文件内容
crudini --merge [--existing] config_file [section]       # 合并

举例

添加

crudini --set test.ini test_section test_param test_value

更新

crudini --set [--existing] test.ini test_section test_param test_value

删除

删除param:

crudini --del test.ini test_section test_param

删除section:

crudini --del test.ini test_section

获取

crudini --del test.ini test_section test_param

如果该标量不在某一个section里面,则section用一个空字符表示:

crudini --del test.ini '' test_param

合并

将another.ini配置文件合并到test.ini中:

crudini --merge test.ini < another.ini

方法二 :ConfigParser模块

说明

ConfigParser 模块为常用的操作ini文件的模块,但是存在一些缺陷,无法识别section的大小写,无法读取文件注释,这样修带有注释的配置文件时就会存在问题。

用法示例

示例文件test.ini

[test_section]
test_param = test_value

读取

import ConfigParser
config = ConfigParser.ConfigParser()
config.readfp(open('test.ini'))
test_value = config.get("test_section","test_param")

写入

添加section

import ConfigParser
config = ConfigParser.ConfigParser()
# set a value of parameters
config.add_section("test_section2")
config.set("test_section2", "test_param2", "test_value2")
config.set("test_section3", "test_param3", "test_value3")
# write to file
config.write(open('test.ini', "w"))

修改

import ConfigParser
config = ConfigParser.ConfigParser()
config.read('1.ini')
config.set("test_section", "test_param3", "test_value3")
config.write(open('test.ini', "r+"))

方法三:configobj模块

说明

正常的读配置文件的方法是给ConfigObj一个文件名,然后通过字典来访问成员,子段来获取value值,不会存在注释无法读取的缺陷

用法示例

示例文件test.ini

[test_section]
test_param = test_value

读取

from configobj import ConfigObj 
config = ConfigObj("test.ini",encoding='UTF8') 
# 读配置文件 
print config['test_section'] 
print config['test_section']['test_param ']

修改

from configobj import ConfigObj 
config = ConfigObj("test.ini",encoding='UTF8') 
config['test_section']['test_param '] = "test_value2" 
# 写入
config.write()

添加section

from configobj import ConfigObj 
config = ConfigObj("test.ini",encoding='UTF8') 
config['test_section2'] = {} 
config['test_section2']['test_param'] = "test_value" 
# 写入
config.write()

删除

from configobj import ConfigObj 
config = ConfigObj("test.ini",encoding='UTF8') 
del config['test_section2']['test_param'] 
config.write()

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
Python GAE、Django导出Excel的方法
Nov 24 Python
Python中编写ORM框架的入门指引
Apr 29 Python
为Python的web框架编写前端模版的教程
Apr 30 Python
Tensorflow 自带可视化Tensorboard使用方法(附项目代码)
Feb 10 Python
Python实现Kmeans聚类算法
Jun 10 Python
对Python中range()函数和list的比较
Apr 19 Python
Flask web开发处理POST请求实现(登录案例)
Jul 26 Python
Python opencv实现人眼/人脸识别以及实时打码处理
Apr 29 Python
python 绘制拟合曲线并加指定点标识的实现
Jul 10 Python
python从Oracle读取数据生成图表
Oct 14 Python
python中reload重载实例用法
Dec 15 Python
教你使用pyinstaller打包Python教程
May 27 Python
Python使用pymongo库操作MongoDB数据库的方法实例
Feb 22 #Python
python调用虹软2.0第三版的具体使用
Feb 22 #Python
Python实现图片转字符画的代码实例
Feb 22 #Python
Python中正则表达式的用法总结
Feb 22 #Python
python ddt数据驱动最简实例代码
Feb 22 #Python
Flask框架踩坑之ajax跨域请求实现
Feb 22 #Python
Scrapy框架爬取Boss直聘网Python职位信息的源码
Feb 22 #Python
You might like
php牛逼的面试题分享
2013/01/18 PHP
php返回相对时间(如:20分钟前,3天前)的方法
2015/04/14 PHP
php自动载入类用法实例分析
2016/06/24 PHP
php通过会话控制实现身份验证实例
2016/10/18 PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
2017/03/15 PHP
php 查找数组元素提高效率的方法详解
2017/05/05 PHP
JS 实现点击a标签的时候让其背景更换
2013/10/15 Javascript
node.js中的http.get方法使用说明
2014/12/14 Javascript
JavaScript删除数组元素的方法
2015/03/20 Javascript
JS动态创建DOM元素的方法
2015/06/09 Javascript
JavaScript对象属性检查、增加、删除、访问操作实例
2015/07/08 Javascript
AngularJS延迟加载html template
2016/07/27 Javascript
非常实用的vue导航钩子
2017/03/20 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
angularjs1.X 重构controller 的方法小结
2019/08/15 Javascript
jQuery模仿ToDoList实现简单的待办事项列表
2019/12/30 jQuery
利用JavaScript模拟京东按键输入功能
2020/12/01 Javascript
Swift 3.0在集合类数据结构上的一些新变化总结
2016/07/11 Python
Python 加密的实例详解
2017/10/09 Python
python实现协同过滤推荐算法完整代码示例
2017/12/15 Python
Python将多份excel表格整理成一份表格
2018/01/03 Python
Python中asyncio与aiohttp入门教程
2018/10/16 Python
python中的colorlog库使用详解
2019/07/05 Python
实例详解Python装饰器与闭包
2019/07/29 Python
Python sqlite3查询操作过程解析
2020/02/20 Python
jupyter notebook 使用过程中python莫名崩溃的原因及解决方式
2020/04/10 Python
如何使用Python调整图像大小
2020/09/26 Python
CSS3+JavaScript实现炫酷呼吸效果的示例代码
2020/06/15 HTML / CSS
最新党员思想汇报
2014/01/01 职场文书
反邪教宣传工作方案
2014/05/07 职场文书
校庆团日活动总结
2014/08/28 职场文书
2014幼儿园卫生保健工作总结
2014/12/05 职场文书
教师个人学习总结
2015/02/11 职场文书
中学推普周活动总结
2015/05/07 职场文书
复兴之路纪录片观后感
2015/06/02 职场文书
使用这 6个Vue加载动画库来减少我们网站的跳出率
2021/05/18 Vue.js