常用配置文件-ini文件
ini格式的文件由多个部分组成,每个部分都由一个[section]
标题开头,然后由特定的字符串(=
或者:
, 默认是=
)分割的键/值条目。默认情况下,[section]
的名称是区分大小写的,而后面键是不区分大小写的。前面和后面的空格,将会从键和值中删除。配置文件中也可能包含注释部分,由特定字符(#
或者;
,默认是#
)界定,值得注意的是,注释部分不可与键值处于同一行。值也是可以跨多行的,只要值在换行时,缩进的深度比第一行的要深就行!
ini格式文件的基本格式如下:
[section1]
key1 = value1
key2 = value2
....
Python本身内置的configparser
标准库可以很轻松的读取和写入此类文件。
写入文件
下面,我们使用configparser
库来将一些配置写入到.ini
格式文件当中:
from configparser import ConfigParserparser = ConfigParser()
parser['default'] = {'host': '0.0.0.0','port': 6000,'duration': 1.3,'debug': False
}
parser['testing'] = {'host': '127.0.0.1','port': 6001,'duration': 1.3,'debug': True
}
with open('settings.ini', 'w') as f:parser.write(f)
执行完毕之后,正常情况下,会在当前目录之下生成一个名为settings.ini
的文件,内容如下:
[default]
host = 0.0.0.0
port = 6000
duration = 1.3
debug = False[testing]
host = 127.0.0.1
port = 6001
duration = 1.3
debug = True
读取文件
上面,我们已经创建并保存了一个.ini
文件,下面我们来读取它:
from configparser import ConfigParserparser = ConfigParser()
parser.read('settings.ini')
sections = parser.sections()
print(type(sections), sections) # <class 'list'> ['default', 'testing']
print('default' in sections) # True
print('fff' in sections) # False
topsecret = parser['default']
print(type(topsecret), topsecret) # <class 'configparser.SectionProxy'> <Section: default>
print(topsecret.get('host'), topsecret.get('d'))