生成配置文件的模块
DEFAULT块,在以块为单位取块的值时,都会出现
import configparserconfig = configparser.ConfigParser() #相当于生成了一个空字典config{}config["DEFAULT"] = { 'ServerAliveInterval': '45', 'Compression': 'yes', 'CompressionLevel': '9'} #使用字典的方式给config赋值config['bitbucket.org'] = {}config['bitbucket.org']['User'] = 'hg'config['topsecret.server.com'] = {}topsecret = config['topsecret.server.com']topsecret['Host Port'] = '50022' # mutates the parsertopsecret['ForwardX11'] = 'no' # same herewith open('example.ini', 'w') as f: config.write(f) #将删除内容写入文件#生成文件的内容如下#[DEFAULT]#serveraliveinterval = 45#compression = yes#compressionlevel = 9#[bitbucket.org]#user = hg#[topsecret.server.com]#host port = 50022#forwardx11 = no
通过config.sections()可获取除了DEFAULT之外的块名,返回结果为一个列表
config.read('example.ini') #读取文件print(config.sections()) #config.sections()返回一个列表['bitbucket.org', 'topsecret.server.com'],包含除了DEFAULT之外的块名,需要事先读取文件print(config['bitbucket.org']['user']) #使用字典的方式取值print(config['DEFAULT']['compression'])
当遍历除了DEFAULT之外的某一个块时,DEFAULT的内容也会被显示
for i in config['bitbucket.org']: print(i)#输出结果如下# user# serveraliveinterval# compression# compressionlevel
通过config.options()和config.items()获取块的键和键值对,通过config.get('块名','键')获取键对应的值
print(config.options('bitbucket.org'))print(config.items('bitbucket.org'))print(config.get('bitbucket.org','user'))#输出内容如下# ['user', 'serveraliveinterval', 'compression', 'compressionlevel']# [('serveraliveinterval', '45'), ('compression', 'yes'), ('compressionlevel', '9'), ('user', 'hg')]# hg
增加操作,增加块config.add_section('块名')、增加块中的键值对config.set('块名','键','值')
config.read('example.ini') #先读取文件config.add_section('hello') #增加块hello,已经存在的块会报错config.set('hello','type','python') #增加块hello的键值对config.write(open('example.ini','w')) #将增加操作写入文件
删除操作,删除块config.remove_section('块名')、删除块中的键值对config.remove_option('块名','键')
config.read('example.ini') config.remove_section('bitbucket.org') #删除块config.remove_option('hello','type') #删除块下面的键值对config.write(open('example.ini','w'))