ini配置文件与ConfigParser对象
ini配置文件简介
[DEFAULT]
a = test
[mysql]
default-character-set = utf8
[mysqld]
datadir = /dbserver/data
port = 33060
character-set-server=utf8
- 中括号[]里面的内容称为section,翻译为:节,区,段。
- 每一个section内,都是key=value形成的键值对,key称为option选项
注意:DEFAULT是缺省的section的名字,必须大写。当section中没有找到对应的键值对时,默认会从DEFAULT中寻找,如果都没有就找不到。
configparser模块中的ConfigParser类
- ConfigParser类帮助处理ini配置文件。可以将section当做key,section存储着键值对组成的字典。默认使用有序字典存储。
from configparser import ConfigParser
cfg = ConfigParser()
cfg.read("mysql.ini")
for i in cfg:
print(i)
for k,v in cfg.items(i):
print(k,":",v)
print()
- 输出结果为:
常用方法
读取和写入
- read(filenames,encoding=None) #读取ini文件,可以是单个文件,也可以是文件列表。可以指定文件编码
- filenames :单个文件,或者是多个文件组成的文件列表
- encoding:文件编码,读取文件时的文件编码,默认为None。
- 原码如下
def read(self, filenames, encoding=None):
if isinstance(filenames, (str, bytes, os.PathLike)):
filenames = [filenames]
read_ok = []
for filename in filenames:
try:
with open(filename, encoding=encoding) as fp:
self._read(fp, filename)
except OSError:
continue
if isinstance(filename, os.PathLike):
filename = os.fspath(filename)
read_ok.append