请看下面的详细讲解:
Python ConfigParser 库的使用及遇到的坑
1. 简介
ConfigParser 是一个不错的库,可以读写INI格式的配置文件,主要用于处理各种简单的(稍微复杂一点就麻烦了)配置信息文本。Python自带 ConfigParser 库,使用起来十分方便。
2. ConfigParser 的基本用法
2.1 安装 ConfigParser 库
ConfigParser 是 Python 自带的一个库,因此安装时只需在 Python 环境下导入即可。
2.2 读取配置文件
读取配置文件时,需要新建 ConfigParser 对象,再利用 read() 方法读取配置文件中的选项和值。接下来是一个读取配置文件的示例:
import configparser
config = configparser.ConfigParser()
config.read('example.ini')
# 以列表形式返回所有的 section
print(config.sections())
# 以字典形式返回 section 下所有的选项和值
for section in config.sections():
print("Section: %s"%section)
for key, value in config.items(section):
print(" %s : %r" % (key, value))
2.3 写入配置文件
写入配置文件时,需要新建 ConfigParser 对象,并通过 set 方法设置选项和值,最后将结果写入配置文件。下面是一个写入配置文件的示例:
import configparser
config = configparser.ConfigParser()
config['DEFAULT'] = {'ServerAliveInterval': '45',
'Compression': 'yes',
'CompressionLevel': '9'}
config['bitbucket.org'] = {}
config['bitbucket.org']['User'] = 'hg'
config['topsecret.server.com'] = {}
topsecret = config['topsecret.server.com']
topsecret['Port'] = '50022' # mutates the parser
topsecret['ForwardX11'] = 'no' # same here
# 保存到 INI 文件中
with open('example2.ini', 'w') as configfile:
config.write(configfile)
3. 注意事项
3.1 option 和 value 中不能有空格
ConfigParser 库中的 option 和 value 中不能有空格,否则会出现解析错误。如果需要添加空格,需要使用引号将其括起来。
3.2 使用 get() 方法时不要忘记指定 section
在读取配置信息时,如果使用了 get() 方法,则需要注意要指定 section,否则会出现找不到 key 的情况。示例代码如下:
import configparser
config = configparser.ConfigParser()
config.read('example.ini')
option_value = config.get('section_name', 'option_name')
4. 示例说明
以下是一个具体的示例,展示了如何使用 ConfigParser 库读取和写入配置文件。
import configparser
# 读取配置文件
config = configparser.ConfigParser()
config.read('example.ini')
# 读取 username 选项的值
if config.has_option('section1', 'username'):
username = config.get('section1', 'username')
print('username:', username)
else:
print('option username not found')
# 写入配置文件
config.set('section2', 'password', '123456')
with open('example.ini', 'w') as f:
config.write(f)
在这个示例中,我们首先读取了 example.ini 配置文件,并通过 get() 方法获取了 section1 下的 username 选项的值。
接着,我们通过 set() 方法向 section2 中添加了 password 选项,并将其值设置为 123456。
最后,我们使用 write() 方法将更改保存到了 example.ini 文件中。
5. 坑点总结
- 定义 section 时,不能有任何空格;
- 写入中文时,需要注意编码问题;
- 使用 get() 方法时也要遵循 section.option 的格式;
- 在调试配置文件时,注意 section.option 的大小写是否正确。
至此,ConfigParser 库的使用及遇到的坑已经讲述完毕。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python ConfigParser库的使用及遇到的坑 - Python技术站