寫入配置:
創建文件:configTest.ini
import configparser config = configparser.ConfigParser() config['DEFAULT'] = {'ServerAliveInterval': '45', 'Compression': 'yes', '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 config['DEFAULT']['ForwardX11'] = 'yes' with open('configTest.ini', 'w') as configfile: config.write(configfile)
得到的configTest.ini配置文件如下:
[DEFAULT]
serveraliveinterval = 45
compression = yes
compressionlevel = 9
forwardx11 = yes
[bitbucket.org]
user = hg
[topsecret.server.com]
port = 50022
forwardx11 = no
讀取文件:
配置文件中 [DEFAULT]是默認配置項,相當於父類,可以再下面的子配置中覆蓋修改,遍歷子配置可得到父類配置內容。
import configparser config = configparser.ConfigParser() config.sections() config.read('configTest.ini') config.sections() print('bitbucket.org' in config) print(config['bitbucket.org']['User']) print(config['DEFAULT']['Compression']) topsecret = config['topsecret.server.com'] print(topsecret['ForwardX11']) for key in config['topsecret.server.com']: print(key) for key in config['bitbucket.org']: print(config['bitbucket.org'][key])
上面的key循環,講得到子類和父類未被覆蓋的key,如:
port
forwardx11
serveraliveinterval
compression
compressionlevel