[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
相关推荐
leeyi1 小时前
Prompt 模板:用变量组装发给 AI 的消息
aigc·agent·ai编程
行者全栈架构师1 小时前
Maven dependency:tree 的 8 个高级用法
java·后端
kyriewen3 小时前
同事每天催我 Code Review,我写了个脚本让 AI 替我 review PR——现在他反过来催 AI 了
前端·javascript·ai编程
沉默王二3 小时前
Qoder 越来越猛了,Browser Use 让 Agent 的联网能力拉满。
agent·ai编程
aqi004 小时前
15天学会AI应用开发(七)有了大模型为什么还要引入RAG
人工智能·python·大模型·ai编程·ai应用
行者全栈架构师5 小时前
IDEA 中 Maven 项目的 15 个红色报错快速解决方法
java·后端
令人头秃的代码0_06 小时前
mac(m5)平台编译openjdk
java
我不是外星人18 小时前
有了 Harness Engineering ,真的还需要研发工程师吗?
前端·后端·ai编程
穿过生命散发芬芳1 天前
现在CC Switch一开,Claude Code随便玩
ai编程