第
python使用yaml格式文件的方法
目录安装PyYAML安装包配置yaml文件编写yaml文件内容python读取yaml文件yaml文件与python代码书写比较字典嵌套字典列表(或叫数组)中嵌套字典,字典中一组数据列表(或叫数组)中嵌套字典,字典中多组数据字典嵌套列表组合使用其他类型
安装PyYAML安装包
YAML在python语言中有PyYAML安装包,下载地址:/pypi/PyYAML
联网的windows可直接win+rcmd进入终端pipinstallPyYAML
配置yaml文件
进入相应python文件的目录,创建yaml文件(略)
通过编程软件创建
自定义文件后缀为.yaml
编写yaml文件内容
city:shanghai
time:202510
successfully:200
exception:500
python读取yaml文件
#使用utf-8编码
#-*-coding:utf-8-*-
#导入yaml模块
importyaml
f=open(test.yaml,r,encoding=utf-8)#读yaml文件,编码用utf-8
cfg=f.read()#读全部文件
d=yaml.load(cfg,Loader=yaml.FullLoader)#用load方法把读到的yaml文件内容转换成字典类型
#yaml5.1版本后弃用了yaml.load(file)这个用法,因为觉得很不安全,5.1版本之后就修改了需要指定Loader,通过默认加载器(FullLoader)禁止执行任意函数
#Loader=yaml.FullLoader加上这行代码,告警就没了
print(d)
结果为字典类型
{city:shanghai,time:202510,successfully:200,exception:500}
yaml文件与python代码书写比较
yaml基本语法规则:
键值对
大小写敏感
使用缩进表示层级关系
缩进时不允许使用Tab键,只允许使用空格。
缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
yaml支持的数据结构有三种:
对象:键值对的集合,又称为映射(mapping)/哈希(hashes)/字典(dictionary)
数组:一组按次序排列的值,又称为序列(sequence)/列表(list)
纯量(scalars):单个的、不可再分的值。字符串、布尔值、整数、浮点数、Null、时间、日期
字典嵌套字典
#字典嵌套字典
#python代码书写为{dd:city2:shanghai2time2:2025102}
#city2:shanghai2
#time2:2025102
列表(或叫数组)中嵌套字典,字典中一组数据
#列表(或叫数组)中嵌套字典
#python代码书写为[{city2:shanghai2},{time2:2025102},{successfully:200}]
#yaml里面写一个列表,前面加一个-符号
-city2:shanghai2
-time2:2025102
-successfully:200
列表(或叫数组)中嵌套字典,字典中多组数据
#列表(或叫数组)中嵌套字典
#python代码书写为[{city3:shanghai3,time3:2025103},{city4:shanghai4,time4:2025104},{city5:shanghai5,time5:2025102}]
-city3:shanghai3
time3:2025103
-city4:shanghai4
time4:2025104
-city5:shanghai5
time5:2025102
字典嵌套列表
#字典嵌套列表
#python代码书写为{color1:[red,1],color2:[bule,2],color3:[black,3]}
color1:
-red
color2:
-bule
color3:
-black
-3
组合使用
#组合使用
#python代码书写为{languages:[Ruby,Perl,Python,javac++shell],websites:{YAML:,R