格式如下:
;comments
[section1]
Param1 = value1
Param2= value2
[section2]
Param3= value3
Param4= value4
我的配置文件的内容为:
conf.ini
;设置语言
[lan]
language = Chinese
import os
import configparser
proDir = os.path.dirname(os.path.realpath(sys.argv[0]))
configPath = os.path.join(proDir,"conf.ini")#获取配置文件的路径
conf=configparser.ConfigParser()#创建对象用于对配置文件进行操作
conf.read(configPath,encoding="utf-8-sig")#以utf8编码形式读取
try:
lan = conf.get("lan","language") #读取配置文件设置的语言的值
except:
lan = "English"
读取的相关方法:
read(filename):读取文件内容
sections():得到所有的section,并以列表的形式返回。
options(section):得到该section的所有option。
items(section):得到该section的所有键值对。
get(section,option):得到section中option的值,返回string类型。
getint(section,option):得到section中option的值,返回int类型。
# 修改配置文件中的语言
conf.set("lan","language","Chinese") #设置"lan"模块下的"language"的值为"Chinese"
conf.write(open(configPath,'w+',encoding="utf-8-sig")) #将修改写入到配置文件
写入的相关方法:
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
#判断是否存在配置文件,没有则创建
if os.path.exists(configPath) == False:
conf['lan'] = {'language':'English'}
with open('conf.ini','w',encoding="utf-8-sig") as configfile:
conf.write(configfile)
conf.read(configPath,encoding="utf-8-sig") #注意是“utf-8-sig"