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

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()  
    原文作者:energysober
    原文地址: https://blog.csdn.net/energysober/article/details/80684200
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞