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使用Socket(Https)Post登录百度的实现代码
May 18 Python
python使用urllib模块和pyquery实现阿里巴巴排名查询
Jan 16 Python
python比较两个列表是否相等的方法
Jul 28 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
Apr 13 Python
浅谈python新手中常见的疑惑及解答
Jun 14 Python
Python爬取网页中的图片(搜狗图片)详解
Mar 23 Python
python使用tkinter实现简单计算器
Jan 30 Python
python实现校园网自动登录的示例讲解
Apr 22 Python
Python读写zip压缩文件的方法
Aug 29 Python
tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式
Jan 23 Python
Django 实现对已存在的model进行更改
Mar 28 Python
Python中的xlrd模块使用原理解析
May 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下实现一个阿拉伯数字转中文数字的函数
2008/07/10 PHP
PHP版自动生成文章摘要
2008/07/23 PHP
fleaphp crud操作之findByField函数的使用方法
2011/04/23 PHP
php操作MongoDB类实例
2015/06/17 PHP
PHP读取大文件的多种方法介绍
2016/04/04 PHP
php从数据库读取数据,并以json格式返回数据的方法
2018/08/21 PHP
ThinkPHP 框架实现的读取excel导入数据库操作示例
2020/04/14 PHP
JS实现文字向下滚动完整实例
2015/02/06 Javascript
JavaScript常用脚本汇总(二)
2015/03/04 Javascript
javascript字符串循环匹配实例分析
2015/07/17 Javascript
jquery点击缩略图切换视频播放特效代码分享
2015/09/15 Javascript
详解JavaScript时间格式化
2015/12/23 Javascript
简单理解JavaScript中的封装与继承特性
2016/03/19 Javascript
node.js连接mongoDB数据库 快速搭建自己的web服务
2016/04/17 Javascript
关于javascript中限定时间内防止按钮重复点击的思路详解
2016/08/16 Javascript
ros::spin() 和 ros::spinOnce()函数的区别及详解
2016/10/01 Javascript
基于 Vue 实现一个酷炫的 menu插件
2017/11/14 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
Vue源码解析之数组变异的实现
2018/12/04 Javascript
vue实现一拉到底的滑动验证
2019/07/25 Javascript
java直接调用python脚本的例子
2014/02/16 Python
浅析Python中元祖、列表和字典的区别
2016/08/17 Python
Python Logging 日志记录入门学习
2018/06/02 Python
PyQt5 实现给窗口设置背景图片的方法
2019/06/13 Python
django之对FileField字段的upload_to的设定方法
2019/07/28 Python
Python中的wordcloud库安装问题及解决方法
2020/05/27 Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
2020/09/24 Python
pytorch中index_select()的用法详解
2021/01/06 Python
敏捷开发的主要原则都有哪些
2015/04/26 面试题
2015年公司工作总结
2015/04/25 职场文书
十月围城观后感
2015/06/08 职场文书
领导干部学习三严三实心得体会
2016/01/05 职场文书
Pytorch实现图像识别之数字识别(附详细注释)
2021/05/11 Python
纯html+css实现打字效果
2021/08/02 HTML / CSS
Python进程池与进程锁之语法学习
2022/04/11 Python
uniapp 微信小程序 自定义tabBar 导航
2022/04/22 Javascript