merge_conf.sh 1.1 KB

123456789101112131415161718192021222324252627282930
  1. #!/usr/bin/python3
  2. from configparser import RawConfigParser
  3. def merge_configs(a_conf_file, b_conf_file):
  4. # 读取 a.conf 文件
  5. a_conf = RawConfigParser()
  6. a_conf.read(a_conf_file, encoding='utf-8')
  7. # 读取 b.conf 文件
  8. b_conf = RawConfigParser()
  9. b_conf.read(b_conf_file, encoding='utf-8')
  10. # 合并配置项到 a.conf
  11. for section in b_conf.sections():
  12. if not a_conf.has_section(section):
  13. a_conf.add_section(section)
  14. for option in b_conf.options(section):
  15. # 只有在 a.conf 中不存在该项时才进行合并
  16. if (not a_conf.has_option(section, option)) or (option == "firmware"):
  17. value = b_conf.get(section, option)
  18. a_conf.set(section, option, value)
  19. # 将合并后的配置写入输出文件
  20. with open(a_conf_file, 'w') as f:
  21. a_conf.write(f, space_around_delimiters=False)
  22. if __name__ == "__main__":
  23. merge_configs("/etc/speaker.conf", "/etc/speaker_update.conf")
  24. merge_configs("/oem/etc/volctrl.conf", "/etc/volctrl_update.conf")