You need to enable JavaScript to run this app. Python如何循环提取YAML文件中Histograms节点下的子字典键名
优惠活动
大模型
产品
解决方案
定价
更多

Python如何循环提取YAML文件中Histograms节点下的子字典键名

实现方法

需要用Python的PyYAML库解析YAML文件,步骤如下:

  • 第一步:安装PyYAML依赖
    执行命令:
    pip install pyyaml

  • 第二步:单文件读取代码示例

import yaml

# 替换为你的YAML文件路径
yaml_path = "你的配置文件路径.yaml"

with open(yaml_path, "r", encoding="utf-8") as f:
    # 用safe_load安全加载YAML内容,避免执行恶意代码
    yaml_content = yaml.safe_load(f)

# 直接获取Histograms下的所有子键,得到你需要的字符串列表
hist_keys = list(yaml_content["Histograms"].keys())
print(hist_keys)

运行以上代码输出结果为:
['zee', 'ztautau', 'ttbar', 'wplustaunu']

  • 第三步:多文件批量处理示例
    如果需要批量处理目录下所有同类YAML文件,可以参考以下代码:
import os
import yaml

# 替换为你的YAML文件所在目录路径
yaml_dir = "你的YAML文件目录路径"
all_hist_keys = {}

for filename in os.listdir(yaml_dir):
    if filename.endswith((".yaml", ".yml")):
        file_path = os.path.join(yaml_dir, filename)
        with open(file_path, "r", encoding="utf-8") as f:
            yaml_content = yaml.safe_load(f)
        all_hist_keys[filename] = list(yaml_content["Histograms"].keys())

# 输出所有文件对应的Histograms子键
for file, keys in all_hist_keys.items():
    print(f"{file} 对应的键:{keys}")

说明

yaml.safe_load是官方推荐的加载方式,不会执行YAML中嵌入的恶意代码,适合处理来源不确定的配置文件。如果你的YAML中包含自定义类型标签,可以根据需求换成yaml.full_load。

内容的提问来源于stack exchange,提问作者Matthew D.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 14:06:10