configparser配置文件处理

时间:2023-03-09 18:45:42
configparser配置文件处理
创建一个configparser格式的文档:

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['ForwardX11'] = 'no' # same here
config['DEFAULT']['ForwardX11'] = 'yes'
with open('example.ini', 'w') as configfile:
config.write(configfile)
---------------------------------------------------------
读取configparser的内容:
import configparser
config = configparser.ConfigParser()
print(config.sections()) #没有read之前是空的列表
config.read('example.ini')
print(config.sections()) #打印出非DEFAULT的项
print('bitbucket.org' in config)
print('bytebong.com' in config)
print(config['bitbucket.org']['User'])
print(config['DEFAULT']['Compression'])
topsecret = config['topsecret.server.com']
print(topsecret['FOrwardX11']) #部分中的键不区分大小写并以小写形式存储
print(topsecret['host port'])
for key in config['bitbucket.org']: #注意:把DEFAULT的KEY也打印出来了
print(key)
print(config['bitbucket.org']['ForwardX11'])
---------------------------------------------------------
修改、增加configparser的某些项:
#使用ConfigParser方法修改,增加
import configparser
config = configparser.ConfigParser()
config.read("example.ini") #读到内存中
config.set('DEFAULT','serveraliveinterval','99999') #修改值为99999;value需要是str
config.add_section('Section1') #增加一个Section1项
config.set('Section1', 'an_int', '15') #value需要是str
config.set('Section1', 'foo', '%(bar)s is %(baz)s!')
config.write(open('example.ini', "w"))
#使用RawConfigParser方法修改,增加
import configparser
config = configparser.RawConfigParser()
config.read("example.ini") #读到内存中
config.set('DEFAULT','serveraliveinterval','8888') #修改值为8888
config.add_section('Section1') #增加一个Section1项
config.set('Section1', 'an_int', 15) #value可以不是字符串
config.set('Section1', 'foo', '%(bar)s is %(baz)s!')
#将配置文件写入到example.ini中
with open('example.ini', 'w') as configfile:
config.write(configfile)

---------------------------------------------------------
删除configparser的某些项:
import configparser
config = configparser.ConfigParser()
config.read("example.ini") #读到内存中
sec = config.remove_section('bitbucket.org') #删除bitbucket.org
config.write(open('example.ini', "w")) #从内存中写入到文件
参考:
https://www.cnblogs.com/alex3714/articles/5161349.html
https://docs.python.org/3/library/configparser.html?highlight=configparser