设计思路
- 初始化:在类的构造函数中接收一个字典作为初始配置信息,用于初始化类内部存储配置信息的字典。
- 动态更新:设计一个方法,该方法接收一个字典,将其合并到类内部存储配置信息的字典中,实现配置信息的动态更新。
- 从文件加载:对于JSON文件,使用
json
模块,读取文件内容并将其解析为字典,再用于更新类内部的配置字典。
- 保存到文件:同样针对JSON文件,将类内部的配置字典转换为JSON格式的字符串,然后写入文件。
关键代码实现
import json
class ConfigManager:
def __init__(self, initial_config={}):
self.config = initial_config
def update_config(self, new_config):
self.config.update(new_config)
def load_from_file(self, file_path):
with open(file_path, 'r') as f:
if file_path.endswith('.json'):
loaded_config = json.load(f)
self.config.update(loaded_config)
def save_to_file(self, file_path):
with open(file_path, 'w') as f:
if file_path.endswith('.json'):
json.dump(self.config, f, indent=4)