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语言编写电脑时间自动同步小工具
Mar 08 Python
Python不规范的日期字符串处理类
Jun 10 Python
在Ubuntu系统下安装使用Python的GUI工具wxPython
Feb 18 Python
简单掌握Python中glob模块查找文件路径的用法
Jul 05 Python
python入门前的第一课 python怎样入门
Mar 06 Python
详解flask表单提交的两种方式
Jul 21 Python
python,Django实现的淘宝客登录功能示例
Jun 12 Python
PyQt5实现暗黑风格的计时器
Jul 29 Python
详解Python可视化神器Yellowbrick使用
Nov 11 Python
一些关于python 装饰器的个人理解
Aug 31 Python
python装饰器代码深入讲解
Mar 01 Python
python tkinter实现定时关机
Apr 21 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 Imagick完美实现图片裁切、生成缩略图、添加水印
2016/02/22 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
对YUI扩展的Gird组件 Part-2
2007/03/10 Javascript
符合W3C网页标准的iframe标签的使用方法
2007/07/19 Javascript
可插入图片的TEXT文本框
2013/12/27 Javascript
javascript实现控制文字大中小显示
2015/04/28 Javascript
Javascript缓存API
2016/06/14 Javascript
AngularJS入门教程之控制器详解
2016/07/27 Javascript
AngularJS控制器详解及示例代码
2016/08/16 Javascript
Vue.js每天必学之组件与组件间的通信
2016/09/08 Javascript
学习vue.js中class与style绑定
2016/12/03 Javascript
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
2017/03/28 NodeJs
使用nodejs爬取前程无忧前端技能排行
2017/05/06 NodeJs
requirejs + vue 项目搭建详解
2017/06/16 Javascript
微信小程序图片轮播组件gallery slider使用方法详解
2018/01/31 Javascript
详解JavaScript中操作符和表达式
2018/09/12 Javascript
vue 循环加载数据并获取第一条记录的方法
2018/09/26 Javascript
ng-zorro-antd 入门初体验
2018/12/03 Javascript
JavaScript实现汉字转换为拼音及缩写的方法示例
2019/03/28 Javascript
微信小程序tab切换可滑动切换导航栏跟随滚动实现代码
2019/09/04 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
2019/09/05 Javascript
vue瀑布流组件实现上拉加载更多
2020/03/10 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
2020/07/21 Javascript
JS实现超级好看的鼠标小尾巴特效
2020/12/01 Javascript
Python 字符串中的字符倒转
2008/09/06 Python
Python多进程通信Queue、Pipe、Value、Array实例
2014/11/21 Python
python删除不需要的python文件方法
2018/04/24 Python
python实现用户名密码校验
2020/03/18 Python
Anaconda的安装与虚拟环境建立
2020/11/18 Python
汽车维修与检测专业应届生求职信
2013/11/12 职场文书
农村婚礼证婚词
2014/01/10 职场文书
医药销售自荐书
2014/05/29 职场文书
聚会通知怎么写
2015/04/23 职场文书
信仰纪录片观后感
2015/06/08 职场文书
退货证明模板
2015/06/23 职场文书
2016年小学优秀班主任事迹材料
2016/02/29 职场文书