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中的一些类型转换函数小结
Feb 10 Python
python中元类用法实例
Oct 10 Python
在Gnumeric下使用Python脚本操作表格的教程
Apr 14 Python
Eclipse中Python开发环境搭建简单教程
Mar 23 Python
Python 爬虫学习笔记之正则表达式
Sep 21 Python
pygame实现俄罗斯方块游戏
Jun 26 Python
对PyQt5中的菜单栏和工具栏实例详解
Jun 20 Python
Django 大文件下载实现过程解析
Aug 01 Python
python从zip中删除指定后缀文件(推荐)
Dec 05 Python
详解Python实现进度条的4种方式
Jan 15 Python
一文详述 Python 中的 property 语法
Sep 01 Python
Golang Web 框架Iris安装部署
Aug 14 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
当海贼王变成JOJO风
2020/03/02 日漫
php正则校验用户名介绍
2008/07/19 PHP
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
2010/04/02 PHP
PHP函数篇之掌握ord()与chr()函数应用
2011/12/05 PHP
Windows下的PHP安装文件线程安全和非线程安全的区别
2014/04/23 PHP
php 5.4 全新的代码复用Trait详解
2017/01/05 PHP
Prototype Array对象 学习
2009/07/19 Javascript
一个简单的JavaScript 日期计算算法
2009/09/11 Javascript
JavaScript中两种链式调用实现代码
2011/01/12 Javascript
jquery得到iframe src属性值的方法
2014/09/25 Javascript
jQuery中ajax和post处理json的不同示例对比
2014/11/02 Javascript
jQuery弹出层插件Lightbox_me使用指南
2015/04/21 Javascript
JavaScript“尽快失败”的原则实例详解
2016/10/08 Javascript
详解JS-- 浮点数运算处理
2016/11/28 Javascript
JS插件clipboard.js实现一键复制粘贴功能
2020/12/04 Javascript
利用JavaScript缓存远程窃取Wi-Fi密码的思路详解
2018/11/05 Javascript
vue路由传参的基本实现方式小结【三种方式】
2020/02/05 Javascript
vue实现简单学生信息管理
2020/05/30 Javascript
javascript实现移动端轮播图
2020/12/09 Javascript
[07:25]DOTA2-DPC中国联赛2月5日Recap集锦
2021/03/11 DOTA
python与C互相调用的方法详解
2017/07/14 Python
Python数据结构与算法之图结构(Graph)实例分析
2017/09/05 Python
python3实现域名查询和whois查询功能
2018/06/21 Python
python去重,一个由dict组成的list的去重示例
2019/01/21 Python
浅谈python的输入输出,注释,基本数据类型
2019/04/02 Python
Python数据处理篇之Sympy系列(五)---解方程
2019/10/12 Python
关于numpy数组轴的使用详解
2019/12/05 Python
Python创建临时文件和文件夹
2020/08/05 Python
荷兰之家英文站:Holland at Home
2016/10/26 全球购物
雅诗兰黛加拿大官网:Estee Lauder加拿大
2019/07/31 全球购物
目标责任书范文
2014/04/14 职场文书
主要负责人任命书
2014/06/06 职场文书
物业管理专业求职信
2014/06/11 职场文书
临床专业自荐信
2014/06/22 职场文书
上课说话检讨书500字
2014/11/01 职场文书
听证会主持词
2015/07/03 职场文书