基本信息
文件名称:python使用yaml格式文件的方法.docx
文件大小:17.44 KB
总页数:6 页
更新时间:2025-05-30
总字数:约3.05千字
文档摘要

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