您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:python 中yaml文件用法大全

51自学网 2021-10-30 22:26:13
  python
这篇教程python 中yaml文件用法大全写得很实用,希望能帮到您。

yaml简单介绍

YAML是一种标记语言,它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件、倾印调试内容、文件大纲。

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进不允许使用tab,只允许空格
  • 缩进的空格数不重要,只要相同层级的元素左对齐即可
  • '#'表示注释

yaml数组

yaml语音数组很简单,使用短横线 ‘-' 作为数组的开始标志。

一维数组

import yaml#三个双引号的作用是字符换行不需要加换行符y = """- 111- 222- 333"""# y等同于y1y1 = '- 111/n- 222/n- 333'config = yaml.safe_load(y)config

out: [111, 222, 333]

二维数组

二维数组就是按照缩进关系来的,更多维数组道理相同,具体看下面的代码:

import yamly = """-  - 111  - 222  - 333-  - 111  - 222  - 333"""config = yaml.safe_load(y)config

out : [[111, 222, 333], [111, 222, 333]]

yaml字典

简单字典形式

yaml字典的模式是Key: value 形式,中间使用冒号+空格进行连接

import yamly = """'0': 1'1': 2'2': 3"""config = yaml.safe_load(y)config

out: {‘0': 1, ‘1': 2, ‘2': 3}

复杂字典形式

下面的例子中,我们使用一个嵌套字典,就是字典里面的value值又是一个字典

import yamly1 = """object1:  'key1': 0  'key2': 1object2:  'key1': 0  'key2': 1  """config = yaml.safe_load(y1)config

out: {‘object1': {‘key1': 0, ‘key2': 1}, ‘object2': {‘key1': 0, ‘key2': 1}}

yaml 复杂结构 数组里面嵌入字典

import yamly1 = """-  'key1': 0  'key2': 1-  'key1': 0  'key2': 1"""config = yaml.safe_load(y1)config

out: [{‘key1': 0, ‘key2': 1}, {‘key1': 0, ‘key2': 1}]

字典里面嵌入数组

import yamly1 = """object1:  - 111  - 222object2:  - 111  - 222"""config = yaml.safe_load(y1)config

out : {‘object1': [111, 222], ‘object2': [111, 222]}

yaml读取和写入

YAML.yml文件内容:

image-20210703183540378

# yaml文件读取import yamlwith 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文件内容:

image-20210703183433312

资料参考:

 YAML菜鸟教程

总结

yaml文件是项目配置常用的配置文件,通常我们会将超参数和一些常用值放在配置文件中,方便修改,读取也十分的方便。

到此这篇关于python 中yaml文件用法大全的文章就介绍到这了,更多相关python 中yaml文件用法内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


python3实现常见的排序算法(示例代码)
Python多线程 Queue 模块常见用法
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。