python操作YAML文件之pyyaml库
1. YAML简介
YAML是一种被认为可以超越XML、JSON的配置文件,最早接触是Spring Boot,木有想到python也是支持的,遂研究一下。
python解析YAML库叫做pyyaml,话说这个名字一点也不酷,按照习俗应该会省略掉一个y叫做pyaml之类的呀。
2. 安装pyyaml
从官网下载zip包拷贝到合适的位置并解压从CMD进入此目录:

执行setup.py安装:
python setup.py install
安装完毕到上面这个命令输出的安装目录看一下文件是否都在。
3. 使用
读文件
随便写个yaml的文件,比如config.yaml:
apple:
color: red
weight: 500
dog:
name: DaHuang
然后解析它:
import yaml if __name__ == '__main__':
with open('G:\\test\\config.yaml', encoding='UTF-8') as config_file:
config = yaml.load(config_file)
print(config)
可以直接从文件加载,加载进来之后是一个字典,打印输出如下:
{'apple': {'color': 'red', 'weight': 500}, 'dog': {'name': 'DaHuang'}}
写文件
import yaml if __name__ == '__main__':
guy = {
'name': '陈二',
'age': '22',
'tag': 'loser'
} # 直接dump可以把对象转为YAML文档
print(yaml.dump(guy)) # 也可以直接dump到文件或者流中
with open('G:\\test\\guy.yaml', 'w', encoding='UTF-8') as guy_file:
yaml.dump(guy, guy_file)
参考资料:
2. http://pyyaml.org/wiki/PyYAMLDocumentation
.
python操作YAML文件之pyyaml库的更多相关文章
- Python操作yaml文件
基本的yaml语法 http://ansible-tran.readthedocs.io/en/latest/docs/YAMLSyntax.html YAML 还有一个小的怪癖. 所有的 YAML ...
- python 操作yaml文件
yaml 5.1版后弃用了yaml.load(file)这个用法,因为觉得很不安全,5.1版后就修改了需要指定Loader,通过默认加载器(FullLoader)禁止执行任意函数yaml 5.1之 ...
- Python3操作YAML文件
数据及配置文件之争 数据及文件通常有三种类型: 配置文件型:如ini,conf,properties文件,适合存储简单变量和配置项,最多支持两层,不适合存储多层嵌套数据 表格矩阵型:如csv,exce ...
- Python读取Yaml文件
近期看到好多使用Yaml文件做为配置文件或者数据文件的工程,随即也研究了下,发现Yaml有几个优点:可读性好.和脚本语言的交互性好(确实非常好).使用实现语言的数据类型.有一个一致的数据模型.易于实现 ...
- 使用python读取yaml文件
在做APP测试时,通常需要把参数存到一个字典变量中,这时可以将参数写入yaml文件中,再读取出来. 新建yaml文件(android_caps.yaml),文件内容为: platformName: A ...
- Python操作Zip文件
Python操作Zip文件 需要使用到zipfile模块 读取Zip文件 随便一个zip文件,我这里用了bb.zip,就是一个文件夹bb,里面有个文件aa.txt. import zipfile # ...
- python操作txt文件中数据教程[4]-python去掉txt文件行尾换行
python操作txt文件中数据教程[4]-python去掉txt文件行尾换行 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文章 python操作txt文件中数据教程[1]-使用pyt ...
- python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件
python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 python操作txt文件中 ...
- python操作txt文件中数据教程[2]-python提取txt文件
python操作txt文件中数据教程[2]-python提取txt文件中的行列元素 觉得有用的话,欢迎一起讨论相互学习~Follow Me 原始txt文件 程序实现后结果-将txt中元素提取并保存在c ...
随机推荐
- php框架中常用的设计模式
1.单例模式 //单例模式 class Demo { private static $obj; private function __construct() { } private function ...
- PHP中与类有关的几个魔术常量
与类有关的魔术常量: 以前学过的魔术常量: __FILE__ __DIR__ __LINE__ 现在: __CLASS__: 代表当前其所在的类的类名: __METHOD__:代表其当前所在的方法名:
- 服务器控件的异步请求——UpdatePanel和ScriptManager
aspx文件里面有以下一段代码 <body> <form id="form1" runat="server"> <div> ...
- 洛谷 [USACO09OPEN]工作调度
题面 读完题,我们会发现有一个很重要的信息,每件物品代价相同,但价值不同.那么我们很容易想到,在满足限制的情况下,我们肯定会选择价值尽可能大的物品. 我们可否用背包来实现呢,答案是否定的,或者说我不会 ...
- 算法08 五大查找之:二叉排序树(BSTree)
上一篇总结了索引查找,这一篇要总结的是二叉排序树(Binary Sort Tree),又称为二叉查找树(Binary Search Tree) ,即BSTree. 构造一棵二叉排序树的目的,其实并不是 ...
- linux系统常见命令以及操作
2.安装xshell,安装完打开,配置回话,输入名称(随便).SSH.主机(打开linux,点击右上角电脑图标system etho进行联网,打开终端输入ifconfig回车,找到inet add地址 ...
- 【BZOJ2339】卡农(递推,容斥)
[BZOJ2339]卡农(递推,容斥) 题面 BZOJ 题解 先简化一下题意: 在\([1,2^n-1]\)中选择不重复的\(m\)个数,使得他们异或和为\(0\)的方案数. 我们设\(f[i]\)表 ...
- Linux内核分析第二周--操作系统是如何工作的
Linux内核分析第二周--操作系统是如何工作的 李雪琦 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course ...
- Hive(三)hive的高级操作
一.hive的各种join操作 语法结构:join_table:table_reference JOIN table_factor [join_condition]| table_reference ...
- 洛谷10月月赛R2·浴谷八连测R3题解
早上打一半就回家了... T1傻逼题不说了...而且我的写法比题解要傻逼很多T T T2可以发现,我们强制最大值所在的块是以左上为边界的倒三角,然后旋转4次就可以遍历所有的情况.所以二分极差,把最大值 ...