首页 / PYTHON / python—Yaml
python—Yaml
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python—Yaml,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2034字,纯文字阅读大概需要3分钟。
内容图文
![python—Yaml](/upload/InfoBanner/zyjiaocheng/657/7e5a7af1691a44acb53b095121fc17c2.jpg)
1.安装
- 需要安装得模块名为pyyaml,直接pip install pyyaml
- 导入,直接import yaml
2.yaml文件的格式
- 文件格式输出可以是列表,可以是字典,可以嵌套。层级关系用空格区分,切记,不支持tab缩进
a)键值对形式
user: admin pwd: 123 job: - teacher - nurese 输出为:{'user': 'admin', 'pwd': 123, 'job': ['teacher', 'nurese']}
b)序列list
- admin1: 123456 - admin2: 111111 - admin3: 222222 输出:[{'admin1': 123456}, {'admin2': 111111}, {'admin3': 222222}]
c)纯量str
n1: 52.10 输出:{'n1': 52.1} n2: true n3: false #不区分大小写 输出:{'n2': True, 'n3': False} None用~表示 n4: ~ 输出:{'n4': None}
d)强制转换,使用!!
n7: !!str true 输出:{'n7': 'true'}
e)多个文件:一个yaml文件里存在多个文件,用---表示,只能一起读取,不能分开读取
--- user: admin pwd: ~ job: - teacher - nurese --- school: erxiao location: sky
3.yaml文件的读取xx.yaml
'''多个文件''' import yaml #由于官方提示load方法存在安全漏洞,所以读取文件时会报错。加上warning忽略,就不会显示警告 yaml.warnings({'YAMLLoadWarning':False}) f=open('source.yaml','r',encoding='utf-8') #打开yaml文件 cfg=f.read() d=yaml.load_all(cfg) #将数据转换成python字典行驶输出,存在多个文件时,用load_all,单个的时候load就可以 for data in d: print(data) f.close() 输出: {'user': 'admin', 'pwd': None, 'job': ['teacher', 'nurese']} {'school': 'erxiao', 'location': 'sky'} '''单个文件''' yaml.warnings({'YAMLLoadWarning':False}) f=open('source.yaml','r',encoding='utf-8') cfg=f.read() print(cfg) d=yaml.load(cfg) print(d) f.close() 输出: user: admin pwd: ~ job: - teacher - nurese {'user': 'admin', 'pwd': None, 'job': ['teacher', 'nurese']}
4.yaml文件的写入
import yaml import os def yaml_doc(yampath): data={'school':'erxiao', 'studens':['lili','jj']} file=open(yampath,'w',encoding='utf-8') yaml.dump(data,file) file.close() currentpath=os.path.abspath('.') #获取当前路径 yamlpath=os.path.join(currentpath,'generate.yaml') #创建yaml文件 yaml_doc(yamlpath) 输出: generate.yaml文件 school: erxiao studens: - lili - jj ```※注意:如果是在已存在数据的yaml文件中执行此脚本,那么数据会被覆盖※```
※问题:1.含有多个文件的yaml文件,读取出来如何选择?
2.持续写入能否将新写入的文件变成新的文件结构?※
PS:觉得这篇文章有用的朋友,多多点赞打赏哦~!
内容总结
以上是互联网集市为您收集整理的python—Yaml全部内容,希望文章能够帮你解决python—Yaml所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。