# configparser模块 配置文件的解析操作 import configparser ''' 一个常见的配置文件 [DEFAULT] ServerAliveInterval = 45 Compression = yes CompressionLevel = 9 ForwardX11 = yes [bitbucket.org] User = hg [topsecret.server.com] Port = 50022 ForwardX11 = no ''' # 生成上面的配置文件 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['ForwardX11'] = 'no' # same here # config['DEFAULT']['ForwardX11'] = 'yes' with open('example.ini', 'w') as configfile: config.write(configfile) # 对配置文件的增删改查 config = configparser.ConfigParser() # 查询 查询内容不区分大小写 config.read('example.ini') print(config.sections()) # ['bitbucket.org', 'topsecret.server.com'] print('bytebong.com' in config) # False print(config['bitbucket.org']['User']) # hg print(config['DEFAULT']['Compression']) # yes print(config['topsecret.server.com']['ForwardX11']) # no # 遍历 注意[default]中的信息虽然没有在下例中遍历,但是它也会显示 for key in config['bitbucket.org']: print(key) # user # serveraliveinterval # compression # compressionlevel # forwardx11 print( config.options('bitbucket.org')) # ['user', 'serveraliveinterval', 'compression', 'compressionlevel', 'forwardx11'] print(config.items( 'bitbucket.org')) # [('serveraliveinterval', '45'), ('compression', 'yes'), ('compressionlevel', '9'), ('forwardx11', 'yes'), ('user', 'hg')] print(config.get('bitbucket.org', 'compression')) # yes # 删,改,增(config.write(open('i.cfg', "w"))) config.add_section('yuan') # 新加一个块 config.set('yuan', 'k1', '11111') # 在块中增加一个键值对 config.remove_section('topsecret.server.com') # 删除一个块(同时删除块下所有的内容) config.remove_option('bitbucket.org', 'user') # 删除一个块中user的键值对 config.write(open('i.cfg', "w")) # 最后一步必须将删,改,增写入到一个文件中(可与原文件同名,覆盖原文件)