yaml 转json
.yaml文件转换为.json
你正在重写一个使用YAML作为配置语言的应用程序。公司现在已经把JSON定为了标准,因此现在有一堆.yaml文件需要转换成.json。须编写一个脚本,然后获取一个目录并将每个.yaml文件转换为相应的.json文件(因此database.yaml会变成database.json,内容是有效的JSON)。
以下是一个用 Python 编写的脚本,可以将指定目录中的所有 .yaml
文件转换为 .json
文件:
脚本说明
- 使用
os
和glob
模块遍历目录中的.yaml
文件。 - 使用
PyYAML
加载 YAML 文件内容。 - 使用
json
将内容保存为 JSON 格式。
脚本代码
import os
import yaml
import json
from pathlib import Path
def convert_yaml_to_json(directory):
# 确保目录存在
if not os.path.isdir(directory):
print(f"目录 '{directory}' 不存在。请提供有效路径。")
return
# 遍历目录中的所有 .yaml 文件
for yaml_file in Path(directory).rglob('*.yaml'):
try:
# 读取 YAML 文件内容
with open(yaml_file, 'r', encoding='utf-8') as yf:
data = yaml.safe_load(yf)
# 构造对应的 JSON 文件路径
json_file = yaml_file.with_suffix('.json')
# 将数据写入 JSON 文件
with open(json_file, 'w', encoding='utf-8') as jf:
json.dump(data, jf, indent=4, ensure_ascii=False)
print(f"已成功将 '{yaml_file}' 转换为 '{json_file}'")
except Exception as e:
print(f"处理文件 '{yaml_file}' 时出错: {e}")
# 示例调用
directory_path = input("请输入包含 YAML 文件的目录路径: ").strip()
convert_yaml_to_json(directory_path)
使用说明
-
将上述代码保存为脚本文件(例如
convert_yaml_to_json.py
)。 -
确保已安装
PyYAML
模块,可以通过以下命令安装:
pip install pyyaml
-
运行脚本,并输入包含
.yaml
文件的目录路径。 -
转换后的
.json
文件会保存在同一目录下,与原.yaml
文件同名。
欢迎关注公-众-号【TaonyDaily】、留言、评论,一起学习。
Don’t reinvent the wheel, library code is there to help.
文章来源:刘俊涛的博客
若有帮助到您,欢迎点赞、转发、支持,您的支持是对我坚持最好的肯定(_)
你要保守你心,胜过保守一切。
本文来自博客园,作者:刘俊涛的博客,转载请注明原文链接:https://www.cnblogs.com/lovebing/p/18669445
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步