如何用Python读取ini配置文件
转载地址:https://blog.csdn.net/weixin_34358092/article/details/88754362
一、ini文件格式
- 格式如下:
-
; comments
-
[
-
Param1 = value1
-
Param2= value2
-
[
-
Param3= value3
-
Param4= value4
[section]
:ini的section模块,是下面参数值的一个统称,方便好记就行。Param = value
:参数以及参数值。- ini 文件中,使用“;”进行注释。
二、读取ini文件
Python自带有读取配置文件的模块ConfigParser,配置文件不区分大小写。
有一系列的方法可提供。
-
read(filename)
:读取文件内容 -
sections()
:得到所有的section,并以列表的形式返回。 -
options(section)
:得到该section的所有option。 -
items(section)
:得到该section的所有键值对。 -
get(section,option)
:得到section中option的值,返回string类型。 -
getint(section,option)
:得到section中option的值,返回int类型。
举个栗子:
-
import os
-
import configparser
-
-
# 当前文件路径
-
proDir = os.path.split(os.path.realpath(__file__))[0]
-
# 在当前文件路径下查找.ini文件
-
configPath = os.path.join(proDir, "config.ini")
-
print(configPath)
-
-
conf = configparser.ConfigParser()
-
-
# 读取.ini文件
-
conf.read(configPath)
-
# get()函数读取section里的参数值
-
name = conf.get("section1","name")
-
print(name)
-
print(conf.sections())
-
print(conf.options('section1'))
-
print(conf.items('section1'))
运行结果:
-
D:\Python_project\python_learning\config.ini
-
2号
-
['section1', 'section2', 'section3', 'section_test_1']
-
['name', 'sex', 'option_plus']
-
[('name', '2号'), ('sex', 'female'), ('option_plus', 'value')]
三、修改并写入ini文件
write(fp)
:将config对象写入至某个ini格式的文件中。add_section(section)
:添加一个新的section。set(section,option,value)
:对section中的option进行设置,需要调用write将内容写入配置文件。remove_section(section)
:删除某个section。remove_option(section,option)
:删除某个section下的option
举个栗子:接上部分
-
-
-
conf.set("section1",'name','3号')
-
-
-
conf.set("section1","option_plus","value")
-
name = conf.get("section1","name")
-
print(name)
-
conf.write(open(configPath,'w+'))
-
-
-
conf.add_section("section_test_1")
-
conf.set("section_test_1","name","test_1")
-
conf.write(open(configPath,'w+'))