用于生成和修改配置文件
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' # mutates the parser
topsecret['ForwardXll'] = 'no' # same here
config['DEFAULT']['ForwardXll'] = 'yes'
with open('example.ini', 'w') as configfile:
config.write(configfile)
实验结果
[DEFAULT]
serveraliveinterval = 45
compression = yes
compressionlevel = 9
forwardxll = yes
[bitbucket.org]
user = hg
[topsecret.server.com]
host port = 50022
forwardxll = no
config对象的读取以及删除、修改等。
import configparser # 用于生成和修改常见配置文件
config = configparser.ConfigParser() # config是一个对象
config.read('example.ini')
# print(config.sections()) # DEFAULT是默认模块,不会打印
# print(config.defaults()) # DEFAULT块里的键值对
# print('bitbucket.org' in config) # 判断config里是否有某个块
# print(config['bitbucket.org']['User']) # 取块里的某个值
# 打印config里所有块的键
# for key in config:
# print(key)
# 打印包括DEFAULT在内的块内的键
# for key in config['bitbucket.org']:
# print(key)
# 删掉某个块(对config对象的修改,不是真正的修改),但是不是修改,而是将删除后的内容重新建立一个文件
# 如果新文件和源文件名字相同,新文件会覆盖源文件,记住不是在源文件中直接修改
config.remove_section('topsecret.server.com')
print(config.has_section('topsecret.server.com'))
# 修改某个块下某个键的值
config.set('bitbucket.org', 'user', 'alex')
config.remove_option('bitbucket.org', 'user')
config.write(open('example.ini', 'w'))