You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python解析YAML字符串?求字符串解析方案(已知文件解析方法)

如何用Python解析YAML字符串

别担心,这事儿其实超简单!Python生态里处理YAML最常用的工具就是PyYAML库,我给你一步步拆解具体操作:

1. 先安装PyYAML库

首先得确保你已经装了这个库,打开终端/命令行,运行下面的命令就行:

pip install pyyaml

2. 解析YAML字符串的基础操作

安装好之后,咱们就可以写代码解析YAML字符串了。核心是用yaml.safe_load()方法——这个方法会把YAML字符串转换成对应的Python数据结构(比如字典、列表这些),而且它比yaml.load()更安全,能避免加载恶意内容,日常用推荐优先选它。

举个最基础的例子:

import yaml

# 定义一个YAML格式的字符串
yaml_str = """
name: Alice
age: 30
hobbies:
  - reading
  - hiking
is_student: false
"""

# 解析YAML字符串
data = yaml.safe_load(yaml_str)

# 看看解析后的结果,是个Python字典
print(data)
print(type(data))
# 还能直接取对应的值
print(data["name"])
print(data["hobbies"][0])

运行这段代码后,你会得到一个Python字典,里面的结构和YAML字符串完全对应,想取什么值直接像操作普通字典/列表一样就行。

3. 处理更复杂的YAML结构

如果你的YAML字符串有嵌套结构,比如嵌套字典,safe_load()也能完美处理:

yaml_complex_str = """
person:
  name: Bob
  contact:
    email: bob@example.com
    phone: 123456789
skills: [Python, YAML, Docker]
"""

data = yaml.safe_load(yaml_complex_str)
print(data["person"]["contact"]["email"])  # 输出 bob@example.com
print(data["skills"][1])  # 输出 YAML

4. 额外小技巧:把Python对象转回YAML字符串

要是你之后需要把解析后的Python数据再转成YAML字符串,可以用yaml.safe_dump()方法:

import yaml

python_data = {
    "name": "Charlie",
    "age": 25,
    "hobbies": ["coding", "gaming"]
}

yaml_str = yaml.safe_dump(python_data, sort_keys=False)
print(yaml_str)

这里的sort_keys=False是为了保留你原来的键顺序,不然默认会按字母排序输出。

内容的提问来源于stack exchange,提问作者gae123

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:23:39