如何使用Python批量为YAML文件添加映射配置
实现方案
直接使用YAML解析库操作结构化数据即可,避免复杂的字符串匹配替换,不会破坏原有文件的格式和配置。
1. 安装依赖
需要先安装Python的YAML处理库PyYAML:
pip install pyyaml
2. 执行批量更新脚本
直接运行如下Python脚本即可完成30个文件的批量配置新增:
import yaml import os # 遍历samplelambda1到samplelambda30所有文件 for file_num in range(1, 31): file_path = f"samplelambda{file_num}.yml" # 跳过不存在的文件 if not os.path.isfile(file_path): print(f"跳过不存在的文件:{file_path}") continue # 读取原有YAML配置 with open(file_path, "r", encoding="utf-8") as f: yaml_data = yaml.safe_load(f) # 新增production-new环境配置 yaml_data["Mappings"]["Environments"]["production-new"] = { "DefaultLambdaConcurrency": "10" } # 配置写回原文件 with open(file_path, "w", encoding="utf-8") as f: yaml.dump( yaml_data, f, default_flow_style=False, # 关闭流式输出,保留块级格式 sort_keys=False, # 不自动排序键,保留原有配置顺序 indent=2, # 缩进和原文件保持一致 allow_unicode=True ) print(f"配置更新完成:{file_path}")
注意事项
- 运行脚本前请先备份所有YAML文件,避免误操作导致配置丢失
- 若运行时提示
sort_keys参数不存在,升级PyYAML版本即可:pip install --upgrade pyyaml - 脚本只会新增
production-new对应的配置,不会修改原有其他配置项
内容的提问来源于stack exchange,提问作者Bhavik Joshi
相关产品推荐
相关产品推荐

