yaml在python上的使用教程介绍
发布时间:2022-06-11 16:34:33 所属栏目:Linux 来源:互联网
导读:yaml在python上的使用估计很多的朋友不知道吧,下面小编来为各位介绍一篇yaml在python上的使用教程,希望文章对各位有用. 一、YAML的格式 YAML的格式及特点如下:YAML使用可打印的Unicode字元,可使用UTF-8或UTF-16,使用空白字元为文件缩排来表示结构,不过不能使
yaml在python上的使用估计很多的朋友不知道吧,下面小编来为各位介绍一篇yaml在python上的使用教程,希望文章对各位有用. 一、YAML的格式 YAML的格式及特点如下:YAML使用可打印的Unicode字元,可使用UTF-8或UTF-16,使用空白字元为文件缩排来表示结构,不过不能使用跳格字元(TAB). 注解由井字号( # )开始,可以出现在一行中的任何位置,而且范围只有一行,也就是一般所谓的单行注解,每个清单成员以单行表示,并用短杠+空白( - )起始,或使用方括号( [ ] ),并用逗号+空白( , )分开成员。 每个杂凑表的成员用冒号+空白( : )分开键值和内容。或使用大括号( { } ),并用逗号+空白( , )分开。 档案中的单一文件可以使用指导指令,使用方法是百分比符号( % ),有两个指导指令在YAML1.1版中被定义: %YAML 指导指令,用来识别文件的YAML版本. %TAG 指导指令,被用在URI的字首标记,这个方法在标记节点的型态时相当有用. YAML再使用逗号及冒号时,后面都必须接一个空白字元. 二、PyYAML的使用 1、安装 python下安装PyYAML模块可以使用YAML ,打开https://pypi.python.org/pypi/PyYAML下载,当前版本3.11 。pypi 站点上对该模块的描述如下:PyYAML features a complete YAML 1.1 parser, Unicode support, pickle support, capable extension API, and sensible error messages 。 可以连网的主机也可以通过pip install pyyaml 或easy_install pyymal 进行安装。 2、yaml.load与yaml.dump方法 该模块提供了一些方法,不过常用的方法只有两个yaml.load和yaml.dump,以下是一个版本相关的yaml 格式文件. [root@361way yaml]# cat tree.yaml branch2: name: Node 2 branch2-1: name: Node 2-1 yaml.load方法: # 脚本内容 [root@361way yaml]# cat load.py import yaml f = open('tree.yaml') dataMap = yaml.load(f) f.close() print dataMap # 执行结果如下 [root@361way yaml]# python load.py {'treeroot': {'branch2': {'branch2-1': {'name': 'Node 2-1'}, 'name': 'Node 2'}, 'branch1': {'branch1-1': {'name': 'Node 1-1'}, 'name': 'Node 1'}}} yuml.dump方法: 这里还承接上面的脚本,调用里面的dataMap 数据,将其保存一直新的yaml 文件,如下: branch1: branch1-1: {name: Node 1-1} name: Node 1 branch2: branch2-1: {name: Node 2-1} name: Node 2 除此之外,还有safe_load、safe_dump、load_all 等主法,具体可以通过pydoc yaml 进行查看. 三、yaml、xml与json 1、yaml 与xml 以下是同一内容,分别使用xml 语言标记与 yaml 语言标记: # xml标记两个site <site> <name>google</name> <url>http://www.phpfensi.com</url> </site> # 使用yaml标记两个site --- site: name: sina url : http://www.phpfensi.com --- site: name: google url : http://www.phpfensi.com # 使用yaml标记两个site --- site: {name: sina, url: http://www.111cn.net } --- site: {name: google, url: http://www.111cn.net} 从读取查看的角度来看,有没有发现yaml 相对xml 语言的优势. (编辑:应用网_丽江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |