[AI编程从入门到入土] 配置文件

[AI编程从入门到入土] 配置文件

个人导航

知乎:https://www.zhihu.com/people/byzh_rc

CSDN:https://blog.csdn.net/qq_54636039

注:本文仅对所述内容做了框架性引导,具体细节可查询其余相关资料or源码

参考文章:各方资料

文章目录

  • [[AI编程从入门到入土] 配置文件](#[AI编程从入门到入土] 配置文件)
  • 个人导航
  • YAML
        • [1. 基础用法](#1. 基础用法)
        • [2. 特别用法](#2. 特别用法)
        • [3. python 读取 yaml](#3. python 读取 yaml)
  • TOML
        • [1. 基础用法](#1. 基础用法)
        • [2. 特别用法](#2. 特别用法)
        • [3. python 读取 toml](#3. python 读取 toml)
  • 对比表格

YAML

  • key: value
    (冒号后面必须加空格)
  • 缩进用 2 个空格(不能用 Tab)
  • 大小写敏感
  • # 是注释
1. 基础用法
yaml 复制代码
# 注释
name: "小明"
age: 20
is_student: true
score: null

# 嵌套对象
person:
  name: 小红
  age: 19

# 数组(列表)
hobbies:
  - 游泳
  - 编程
  - 看书

# 多行字符串(保留换行)
description: |
  我喜欢学习配置文件
  YAML 很好用
2. 特别用法
yaml 复制代码
# 多行字符串(不保留换行)
intro: >
  我正在学习
  YAML 和 TOML
3. python 读取 yaml
py 复制代码
import yaml

with open("test.yaml", "r", encoding="utf-8") as f:
    data = yaml.safe_load(f)

# 普通键值对
print("姓名:", data["name"])
print("年龄:", data["age"])
print("是否学生:", data["is_student"])
print("分数:", data["score"])

# 嵌套对象
print("嵌套人物姓名:", data["person"]["name"])
print("嵌套人物年龄:", data["person"]["age"])

# 数组(列表)
print("爱好列表:", data["hobbies"])
for hobby in data["hobbies"]:
    print("-", hobby)

# 字符串
print("描述:")
print(data["description"])

TOML

  • key = value
  • 等号两边可以加空格,也可以不加
  • 大小写敏感
  • # 是注释
1. 基础用法
toml 复制代码
# 注释
name = "小明"
age = 20
is_student = true
score = 0.0

# 一级对象
[person]
name = "小红"
age = 19

# 数组
hobbies = ["游泳", "编程", "看书"]

# 多行字符串(保留换行)
description = """
我喜欢学习配置文件
TOML 非常清晰
"""
2. 特别用法
toml 复制代码
# 嵌套对象
[school.info]
name = "第一中学"
address = "北京"
3. python 读取 toml
py 复制代码
import toml

data = toml.load("config.toml")

# 普通键值对 
print("===== 基础数据 =====")
print("姓名:", data["name"])
print("年龄:", data["age"])
print("是否学生:", data["is_student"])
print("分数:", data["score"])

# 一级对象 [person]
print("\n===== 人物信息 =====")
print("姓名:", data["person"]["name"])
print("年龄:", data["person"]["age"])

# 数组 
print("\n===== 爱好列表 =====")
print("全部爱好:", data["hobbies"])
for h in data["hobbies"]:
    print("-", h)

# 多行字符串
print("\n===== 描述信息 =====")
print(data["description"])

# 嵌套对象 [school.info]
print("\n===== 学校信息 =====")
print("学校名称:", data["school"]["info"]["name"])
print("学校地址:", data["school"]["info"]["address"])

对比表格

对比项 YAML TOML
键值写法 key: value key = value
缩进要求 严格依赖缩进(2 个空格) 不依赖缩进,格式更自由
对象 / 嵌套 靠缩进嵌套 [table][a.b] 表示层级
大小写 敏感 敏感
注释符号 # #
语法容错 缩进错就解析失败,易踩坑 语法严格、清晰,不易出错
常见使用场景 Docker、K8s、CI Rust、Python
相关推荐
oradh4 小时前
Oracle数据库模式、对象的入门概述
数据库·oracle·oracle数据库基础
花千树-0104 小时前
多步骤 ReAct 实战:让 Agent 自主完成航司比价与订票
java·agent·function call·react agent·harness·j-langchain·多步骤推理
xcLeigh4 小时前
飞算 JavaAI 进阶实战:从代码生成到系统架构优化的全流程指南
java·系统架构·代码生成·java开发·飞算javaai炫技赛·javaai·飞算
雷工笔记4 小时前
SQL语句解析:DESC LIMIT 1
数据库·sql
城数派4 小时前
2025年全国地级市间驾车出行距离和出行时间矩阵数据
数据库·arcgis·信息可视化·数据分析
爱吃的小肥羊4 小时前
Claude Code 国内使用教程:手把手教你接入 Kimi 模型,零门槛开搞(2026 最新版)
aigc·ai编程
wgzrmlrm744 小时前
SQL实现按用户偏好进行分组汇总_自定义聚合规则
jvm·数据库·python
希望永不加班4 小时前
SpringBoot 事件机制:ApplicationEvent 与监听器
java·开发语言·spring boot·后端·spring
lzhdim5 小时前
SQL 入门 10:SQL 内置函数:数值、字符串与时间处理
前端·数据库·sql