欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python-configparser生成ini配置文件

程序员文章站 2022-04-16 09:51:41
写入配置: 读取文件: 配置文件中 [DEFAULT]是默认配置项,相当于父类,可以再下面的子配置中覆盖修改,遍历子配置可得到父类配置内容。 上面的key循环,讲得到子类和父类未被覆盖的key,如: portforwardx11serveraliveintervalcompressioncompre ......

写入配置:

创建文件: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