YAML文件入门

YAML文件入门

文章目录

  • YAML文件入门
    • 1. 基本YAML语法——数组list
    • 2. 基本YAML语法——字典dict
    • 3. 一个简单示例

​ YAML是"Yet Another Markup Language"的缩写,意为仍是一种标记语言,YAML和其他高级语言非常相似,可以用于表示简单的列表list、字典dict等形式,YAML使用空白符号缩进和大量依赖于外观的特色,非常适合于编写配置文件,另外YAML文件的后缀可以为.yml.yaml

1. 基本YAML语法——数组list

-开头的行表示构成一个数组,使用#来表示注释

# record some languages
languagues:
 - Ruby
 - Python
 - C++
 - Java

将这个.yaml文件读出的效果如下

{'languagues': ['Ruby', 'Python', 'C++', 'Java']}

2. 基本YAML语法——字典dict

YAML以:来表示对象和其值,即key: value,并且需要注意的是冒号后面需要存在一个空格,还可以使用缩进来表示层级关系

languagues:
	Python: python.py
	C++: c++.c

将这个.yaml文件读出的效果如下

{'languagues': {'Python': 'python.py', 'C++': 'c++'}}

3. 一个简单示例

将这个YAML文件命名为runboob.yaml

#Comment: Student record
#Describes some characteristics and preferences
---
name: Martin D'vloper #key-value
age: 26
hobbies: 
  - painting #first list item
  - playing_music #second list item
  - cooking #third list item
programming_languages:
  java: Intermediate
  python: Advanced
  javascript: Beginner
favorite_food: 
  - vegetables: tomatoes 
  - fruits: 
      citrics: oranges 
      tropical: bananas
      nuts: peanuts
      sweets: raisins

使用python读取后,效果如下

import os
from typing import Dict, Any
import yaml

with open(os.path.join('.', 'runboob.yaml'), 'r', encoding='utf-8') as file:
    config: Dict[str, Any] = yaml.load(file, Loader=yaml.FullLoader)

print(config)
{'name': "Martin D'vloper",
 'age': 26,
 'hobbies': ['painting', 'playing_music', 'cooking'],
 'programming_languages': {'java': 'Intermediate',
  'python': 'Advanced',
  'javascript': 'Beginner'},
 'favorite_food': [{'vegetables': 'tomatoes'},
  {'fruits': {'citrics': 'oranges',
    'tropical': 'bananas',
    'nuts': 'peanuts',
    'sweets': 'raisins'}}]}

你可能感兴趣的:(Python,python)