Python的配置文件解析器configparser
此模块提供ConfigParser实现基本配置语言的类,该语言提供类似于Microsoft Windows INI文件中的结构。您可以使用它来编写可由最终用户轻松定制的Python程序。
ini配置文件介绍
根据官方文档得知,ini文件的定义主要有以下几点:
- 配置文件由一个或多个
[section]组成,每个[section]代表一组配置文件的集合 - Key与Value之间可用
=或者:分隔 - Key与Value中允许出现空格
[section]的名称区分大小写,Key不区分- 可以省略Value,省略等号和Value表示没有值,如果只省略Value,则表示值为
空字符串 - Value可以跨域多行,但是跨行后的数据值需要进行一定的缩进
- 配置文件可以包括注释,以
#或者;开头的
下面是官方的例子:
1 | [Simple Values] |
接下来我们就以官方文档的例子来实现配置文件的读取与写入。
读取配置文件
1 | import configparser |
此时会打印如下内容:
1 | <Section: Simple Values> |
[Simple Values]这种形式的被称为Section。
如果我们要打印所有的Section,则只需要如下代码即可
1 | print(config.sections()) |
此时会输出如下内容:
1 | ['Simple Values', 'All Values Are Strings', 'Multiline Values', 'No Values', 'You can use comments'] |
如果我们要打印Simple Values这个Section下的所有key,只需要如下代码即可:
1 | print(config.options('Simple Values')) |
此时会输出如下内容:
1 | ['key', 'spaces in keys', 'spaces in values', 'spaces around the delimiter', 'you can also use'] |
如果要获取Simple Values下所有的键值对,则需要如下代码:
1 | print(config.items('Simple Values')) |
此时会输入如下内容:
1 | [('key', 'value'), ('spaces in keys', 'allowed'), ('spaces in values', 'allowed as well'), ('spaces around the delimiter', 'obviously'), ('you can also use', 'to delimit keys from values')] |
如果要获取Simple Values下key的值,则需要如下代码:
1 | print(config['Simple Values']['key']) |
此时会输入如下内容:
1 | value |
如果要获取指定类型的值,则需要如下代码:
1 | print(config.getint('All Values Are Strings', 'values like this')) |
此时会输出如下内容:
1 | 1000000 |
类似的还有config.getboolean()和config.getfloat(),同时需要注意getboolean()方法能判断True/False的值有:yes/no, on/off, true/false 和 1/0。
写入配置
关于写如配置的方法,有如下四种方式可以实现。
1 | config1 = configparser.ConfigParser() |
最后写入结果example.ini
1 | [Test Write First] |
常用的也就这些,有需要了解其他的特性,可以参阅官方文档
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 堆栈之上!
评论


