#!/usr/bin/python3 from configparser import RawConfigParser def merge_configs(a_conf_file, b_conf_file): # 读取 a.conf 文件 a_conf = RawConfigParser() a_conf.read(a_conf_file, encoding='utf-8') # 读取 b.conf 文件 b_conf = RawConfigParser() b_conf.read(b_conf_file, encoding='utf-8') # 合并配置项到 a.conf for section in b_conf.sections(): if not a_conf.has_section(section): a_conf.add_section(section) for option in b_conf.options(section): # 只有在 a.conf 中不存在该项时才进行合并 if (not a_conf.has_option(section, option)) or (option == "firmware"): value = b_conf.get(section, option) a_conf.set(section, option, value) # 将合并后的配置写入输出文件 with open(a_conf_file, 'w') as f: a_conf.write(f, space_around_delimiters=False) if __name__ == "__main__": merge_configs("/etc/speaker.conf", "/etc/speaker_update.conf") merge_configs("/oem/etc/volctrl.conf", "/etc/volctrl_update.conf")