Menu
- configparser定义
- 创建configparser文件
- 增删改查 - 查
- 增删改查 - 改
- 增删改查 - 增
- 增删改查 - 删
- 重新写入文件 - 每次增删改查都要重新写入到文件
configparser定义
- ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section), 每个节可以有多个参数(键=值)。使用的配置文件的好处就是不用在程序员写死,可以使程序更灵活。
创建configparser文件
# 创建configparser文件
import configparser
config = configparser.ConfigParser() # 创建configparser对象
config["DEFAULT"] = {
'ServerAliveInterval': '45', # create a dict
'Compression': 'yes',
'CompressionLevel': '9'
}
config['bitbucket.org'] = {} # create a dict
config['bitbucket.org']['User'] = 'hg'
config['topsecret.server.com'] = {} # create a dict
topsecret = config['topsecret.server.com']
topsecret['Host Port'] = '50022' # mutates the parser
topsecret['ForwardX11'] = 'no' # same here
config['DEFAULT']['ForwardX11'] = 'yes'
with open('configparserTest.ini', 'w') as f:
config.write(f)
"""
# --- result ---
[DEFAULT]
serveraliveinterval = 45
compression = yes
compressionlevel = 9
forwardx11 = yes
[bitbucket.org]
user = hg
[topsecret.server.com]
host port = 50022
forwardx11 = no
"""
#查
import configparser
config = configparser.ConfigParser() #创建对象
config.read("configparserTest.ini") # 载入配置文件
for key in config['bitbucket.org']: # 就可以对config对象进行操作了
print(key)
"""
--- result ---
user
serveraliveinterval
compression
compressionlevel
forwardx11
"""
print(config["bitbucket.org"]["user"]) # hg
print(config.get("bitbucket.org", "user")) # hg
print(config.options("bitbucket.org")) # 相当于列出所有key,defult section里的key,每次都会出来
# ['user', 'serveraliveinterval', 'compression', 'compressionlevel', 'forwardx11']
print(config.items("bitbucket.org")) # 相当于列出所有item, defult section里的item,每次都会出来
# [('serveraliveinterval', '45'), ('compression', 'yes'), ('compressionlevel', '9'), ('forwardx11', 'yes'), ('user', 'hg')]
# 改
config["topsecret.server.com"]["forwardx11"] = "shitwomen" # 传统字典方法修改
config.set("mysection", "sec2", "modify_value") # config.set方法修改item
# 增
config.add_section("mysection") # 增加section
config["mysection"]["sec1"] = "mysec1" # 传统字典方法增加item
config.set("mysection", "sec2", "mysec2") # config.set方法增加item
"""
--- result ---
[mysection]
sec1 = mysec1
sec2 = mysec2
"""
# 删
config.remove_section("bitbucket.org") # remove a section
config.remove_option("topsecret.server.com", "forwardx11") # remove a item
"""
f = open("configparser.new", "w")
config.write(f)
f.close()