python基础-PyYaml操作yaml文件
来源:互联网 发布:crm软件 用百会 编辑:程序博客网 时间:2024/06/08 08:13
- yaml语法
- 格式
- yaml2种写法
- 安装PyYaml
- python使用yaml
- yaml语法
yaml语法
格式
它的基本语法规则如下
大小写敏感
使用缩进表示层级关系
缩进时不允许使用Tab键,只允许使用空格。
缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
YAML 支持的数据结构有三种
1、对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
2、数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
3、纯量(scalars):单个的、不可再分的值
对象的一组键值对,使用冒号结构表示。
animal: pets#或者如下格式hash: { name: Steve, foo: bar }
数组
- Cat- Dog- Goldfish#或者如下格式animal: [Cat, Dog]
复合结构
languages: - Ruby - Perl - Python websites: YAML: yaml.org Ruby: ruby-lang.org Python: python.org Perl: use.perl.org
纯量纯量是最基本的、不可再分的值
字符串 布尔值 整数 浮点数 Null 时间 日期
字符串:以下是5种表现格式
str: 这是一行字符串str: '内容: 字符串's1: '内容\n字符串's2: "内容\n字符串"str: 'labor''s day'
yaml2种写法
我们来看一个完整的yaml配置文件
数据结构可以用类似大纲的缩排方式呈现,结构通过缩进来表示,连续的项目通过减号“-”来表示,map结构里面的key/value对用冒号“:”来分隔。样例如下:
house: family: name: Doe parents: - John - Jane children: - Paul - Mark - Simone address: number: 34 street: Main Street city: Nowheretown zipcode: 12345
YAML也有用来描述好几行相同结构的数据的缩写语法,数组用’[]’包括起来,hash用’{}’来包括。因此,上面的这个YAML能够缩写成这样:
house: family: { name: Doe, parents: [John, Jane], children: [Paul, Mark, Simone] } address: { number: 34, street: Main Street, city: Nowheretown, zipcode: 12345 }
安装PyYaml
下载地址https://github.com/yaml/pyyaml
然后将其lib3\yaml包,放在python安装包lib包下,然后命令行监测是否安装成功即可
python使用yaml
我们初始化一个yaml配置文件
house: family: name: Doe parents: - John - Jane address: number: 34 street: Main Street
import yamlf = open('example.ini',encoding="utf-8")x = yaml.load(f)print(x)print("---------")aproject = {'name': 'Silenthand Olleander', 'race': 'Human', 'traits': ['ONE_HAND', 'ONE_EYE'] }ret = yaml.dump(aproject)print(ret)aproject = ["a","b","c"]ret = yaml.dump(aproject)print(ret)aproject = ("a","b","c")ret = yaml.dump(aproject)print(ret)aproject = {"a":1,"b":2}ret = yaml.dump(aproject)print(ret)
输出内容如下:
E:\python\python_sdk\python.exe E:/python/py_pro/5.configparse.py{'house': {'family': {'name': 'Doe', 'parents': ['John', 'Jane']}, 'address': {'number': 34, 'street': 'Main Street'}}}---------name: Silenthand Olleanderrace: Humantraits: [ONE_HAND, ONE_EYE][a, b, c][a, b, c]{a: 1, b: 2}Process finished with exit code 0
阅读全文
0 0
- python基础-PyYaml操作yaml文件
- python yaml PyYaml入门
- python操作yaml文件
- 操作Yaml文件
- opencv操作yaml文件
- python读取yaml文件
- 使用 python 读取 yaml 文件
- 5、Python 处理 yaml 文件
- 使用 ruamel.yaml 读写 yaml 文档 Python 操作笔记
- Python基础-文件操作
- Python基础-文件操作
- 用python读写yaml/json文件
- python yaml文件的使用注意
- Python基础--基本文件操作
- Python基础学习----文件操作
- python基础之文件操作
- python基础之文件操作
- python基础-10-文件操作
- [基础题] 6.(*)按如下要求编写Java程序: (1)编写一个接口:OneToN,只含有一个方法int dispose(int n)
- 习题6.11
- numpy.logspace用法
- unity中特殊的文件夹
- 【JS】发布/订阅模式
- python基础-PyYaml操作yaml文件
- 【操作系统】unix 进程调度策略
- WeaveSocket框架-Unity太空大战游戏-概述0
- 习题4
- mysql高可用-MHA
- jsp 简单模板
- ZZNU17级新生周赛第六场
- ScrollViewHelper
- 浅谈人工智能:现状、任务、构架与统一 | 正本清源