configparser 模块 (了解)
一、configparser 模块 介绍
- 此模块提供了它实现一种基本配置语言
ConfigParser
类,这种语言所提供的结构与 Microsoft Windows INI 文件的类似。 你可以使用这种语言来编写能够由最终用户来自定义的 Python 程序。
- 在Python3中configparser模块是纯小写,Python2中采用驼峰体 ConfigParser
例如配置文件如下:
[section1]
k1 = v1
k2:v2
user=egon
age=18
is_admin=true
salary=31
[section2]
k1 = v1
二、使用configparser模块读取文件
import configparser
"""
# 因为python2的模块名命名的规范没有统一, 所以在python2中导入方式是: import ConfigParser
# 基于这种模块的运用, 文件的后缀名结尾一般命名成2种格式: 文件.ini 或者 文件.cfg
"""
config = configparser.ConfigParser()
config.read('a.cfg')
print(config.sections())
print(config.options('section1'))
print(config.items('section1'))
print(config.get('section1', 'k2'))
res = config.get('section1', 'user')
print(res, type(res))
res = int(config.get('section1', 'age'))
print(res, type(res))
res = config.getint('section1', 'age')
print(res, type(res))
res = config.getboolean('section1', 'is_admin')
print(res, type(res))
res = config.getfloat('section1', 'salary')
print(res, type(res))
"""
三. 使用configparser模块修改文件
import configparser
config = configparser.ConfigParser()
config.read('a.cfg', encoding='utf-8')
config.remove_section('section2')
config.remove_option('section1', 'k1')
config.remove_option('section1', 'k2')
print(config.has_section('section1'))
print(config.has_option('section1', ''))
config.add_section('egon')
config.set('egon', 'name', 'egon')
config.set('egon', 'age', 18)
config.write(open('a.cfg', 'w'))
四、使用configparser模块添加一个ini格式的文件
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['Host Port'] = '50022'
topsecret['ForwardX11'] = 'no'
config['DEFAULT']['ForwardX11'] = 'yes'
with open('example.ini', 'w') as configfile:
config.write(configfile)