python 中yaml文件用法大全
yaml简单介绍
YAML是一种标记语言,它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件、倾印调试内容、文件大纲。
- 大小写敏感
- 使用缩进表示层级关系
- 缩进不允许使用tab,只允许空格
- 缩进的空格数不重要,只要相同层级的元素左对齐即可
- '#'表示注释
yaml数组
yaml语音数组很简单,使用短横线 ‘-' 作为数组的开始标志。
一维数组
import yaml #三个双引号的作用是字符换行不需要加换行符 y = """ - 111 - 222 - 333 """ # y等同于y1 y1 = '- 111\n- 222\n- 333' config = yaml.safe_load(y) config
out: [111, 222, 333]
二维数组
二维数组就是按照缩进关系来的,更多维数组道理相同,具体看下面的代码:
import yaml y = """ - - 111 - 222 - 333 - - 111 - 222 - 333 """ config = yaml.safe_load(y) config
out : [[111, 222, 333], [111, 222, 333]]
yaml字典
简单字典形式
yaml字典的模式是Key: value 形式,中间使用冒号+空格进行连接
import yaml y = """ '0': 1 '1': 2 '2': 3 """ config = yaml.safe_load(y) config
out: {‘0': 1, ‘1': 2, ‘2': 3}
复杂字典形式
下面的例子中,我们使用一个嵌套字典,就是字典里面的value值又是一个字典
import yaml y1 = """ object1: 'key1': 0 'key2': 1 object2: 'key1': 0 'key2': 1 """ config = yaml.safe_load(y1) config
out: {‘object1': {‘key1': 0, ‘key2': 1}, ‘object2': {‘key1': 0, ‘key2': 1}}
yaml 复杂结构 数组里面嵌入字典
import yaml y1 = """ - 'key1': 0 'key2': 1 - 'key1': 0 'key2': 1 """ config = yaml.safe_load(y1) config
out: [{‘key1': 0, ‘key2': 1}, {‘key1': 0, ‘key2': 1}]
字典里面嵌入数组
import yaml y1 = """ object1: - 111 - 222 object2: - 111 - 222 """ config = yaml.safe_load(y1) config
out : {‘object1': [111, 222], ‘object2': [111, 222]}
yaml读取和写入
YAML.yml文件内容:
# yaml文件读取 import yaml with open('YAML.yml','r')as f: config = yaml.safe_load(f) config
out:[0, 111, 222]
# yaml写入文件 config = [1,2,3] with open('YAML1.yml','w')as f: yaml.dump(config,f)
YAML1.yml文件内容:
资料参考:
YAML菜鸟教程
总结
yaml文件是项目配置常用的配置文件,通常我们会将超参数和一些常用值放在配置文件中,方便修改,读取也十分的方便。
到此这篇关于python 中yaml文件用法大全的文章就介绍到这了,更多相关python 中yaml文件用法内容请搜索hwidc以前的文章或继续浏览下面的相关文章希望大家以后多多支持hwidc!