服务器之家

服务器之家 > 正文

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

时间:2021-06-01 00:29     来源/作者:energysober

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

方法一:crudini 命令

说明

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

用法

?
1
2
3
4
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]       # 合并

举例

添加

?
1
crudini --set test.ini test_section test_param test_value

更新

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

删除

删除param:

?
1
crudini --del test.ini test_section test_param

删除section:

?
1
crudini --del test.ini test_section

获取

?
1
crudini --del test.ini test_section test_param

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

?
1
crudini --del test.ini '' test_param

合并

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

?
1
crudini --merge test.ini < another.ini

方法二 :ConfigParser模块

说明

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

用法示例

示例文件test.ini

?
1
2
[test_section]
test_param = test_value

读取

?
1
2
3
4
import ConfigParser
config = ConfigParser.ConfigParser()
config.readfp(open('test.ini'))
test_value = config.get("test_section","test_param")

写入

添加section

?
1
2
3
4
5
6
7
8
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"))

修改

?
1
2
3
4
5
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

?
1
2
[test_section]
test_param = test_value

读取

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

修改

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

添加section

?
1
2
3
4
5
6
from configobj import ConfigObj
config = ConfigObj("test.ini",encoding='UTF8')
config['test_section2'] = {}
config['test_section2']['test_param'] = "test_value"
# 写入
config.write()

删除

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

总结

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

原文链接:https://blog.csdn.net/energysober/article/details/80684200

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部