Python 测开28期 - 小锅巴 - Yaml文件

深入解析YAML配置文件/结合Python语言 深入解析 YAML 配置文件:从语法到最佳实践_yaml配置文件-CSDN博客

Yaml的语法特点:
  • 使用缩进表示层级关系,不使用大括号或者其他符号
  • 使用冒号来表示键值对
  • 使用列表和嵌套结构
  • 使用"#"作为注释
  • 支持引用和锚点,可以在文档中引用其他部分的数据。
具体语法:
  • 字符串: 语法规范:使用单引号或双引号将字符串括起来。字符串的引号也可以省略
    name: "Jone"
    addr: "长沙"
    
  • 数字: 语法规范:直接写入数字即可。
    age: 30
    
  • 布尔值:语法规范:使用true表示真,使用false表示假
    isStudent: true
    isTeacher: false
    
  • 列表: 语法规范:使用短横线(-)表示列表项,列表项之间使用换行进行分隔。
    fruits:
        - apple
        - banana
        - orange
    
  • 字典: 语法规范:使用冒号(:)表示键值对,键值对之间使用空格进行分隔。
    person:
        name: "John"
        age: 30
    
  • 空值:使用null表示空值
    status: null
    
  • 注意:YAML对于缩进非常敏感,使用空格进行缩进来表示层级,缩进的空格数目可以是2个或者4个。但整个文档必须保持一致
Python操作YAML文件
  • python操作yaml文件的库:pYyaml 需要pip安装,导入的时候是:import yaml
  • safe_load()读取yaml文件: 接收的参数是文件对象
    import yaml
    with open("./data.yaml", "r") as fp:
        data = yaml.safe_load(fp)
        print(data)
    
  • dump()写入yaml文件:
    import yaml
    data = {
        "Person": {
            "name": "John",
            "age": 30,
            "address": {
                "street": "123 Main St",
                "city": "Anytown",
                "state": "CA"
            }
        }
    }
    
    with open("./data.yaml", "w") as fp:
        yaml.dump(data, fp)