解决Python写入yaml后排版混乱还丢失注释问题
转载https://www.cnblogs.com/jiahm/category/1530828.html
大家有没有遇到过在使用Python进行yaml文件写入数据后,内容排版混乱并且丢失注释问题,非常不友好,如下图所示:

针对上述问题,简单的解决方法如下:
安装pip install ruamel.yaml
使用:

from ruamel import yaml
def setDictYaml(self, fileDir, fileName, key, value):
with open(filePath(fileDir, fileName), 'r', encoding="utf-8") as f:
doc = yaml.round_trip_load(f)
doc[key] = value
with open(filePath(fileDir, fileName), 'w', encoding="utf-8") as f:
yaml.round_trip_dump(doc, f, default_flow_style=False)
setDictYaml(fileDir='config', fileName='config.yaml', key='password', value=123)


运行后的结果如上图所示,问题完美解决!
解决Python写入yaml后排版混乱还丢失注释问题的更多相关文章
- 解决python写入mysql中datetime类型遇到的问题
解决python写入mysql中datetime类型遇到的问题 刚开始使用python,还不太熟练,遇到一个datetime数据类型的问题: 在mysql数据库中,有一个datetime类型的字段用于 ...
- 解决python中csv文件中文写入问题
一.前言 一般来说,为了方便,使用python的时候都会使用csv模块去写数据到csv文件,但是写入中文的时候,经常会报错: UnicodeEncodeError: 'ascii' codec can ...
- 解决TextView排版混乱或者自动换行的问题
其实在TextView中遇到排版自动换行而导致混乱不堪的情况是非常常见的,而且导致这种问题产生的原因就是英文和中文混合输入,半角字符和全角字符混合在一起了.一般情况下,我们输入的数字.字母以及英文标点 ...
- python安装OpenCV后import cv2报错解决办法
现在python安装完成后,运行pip install opencv-python安装成功后,import cv2时会失败 看到有人给出下载https://www.lfd.uci.edu/~gohlk ...
- python安装完毕后,提示找不到ssl模块的解决步骤
转载自 醇酒醉影 python安装完毕后,提示找不到ssl模块: [root@localhost ~]# python2.7.5 Python 2.7.5 (default, Jun 3 2013, ...
- python安装完毕后,提示找不到ssl模块的解决方示
python安装完毕后,提示找不到ssl模块: [root@localhost ~]# python2.7.5 Python 2.7.5 (default, Jun 3 2013, 11:08:43) ...
- 孤荷凌寒自学python第五十三天使用python写入和修改Firebase数据库中记录
孤荷凌寒自学python第五十三天使用python写入和修改Firebase数据库中记录 (完整学习过程屏幕记录视频地址在文末) 今天继续研究Firebase数据库,利用google免费提供的这个数 ...
- 转:解决Python中文编码问题
Python 文本挖掘:解决Python中文编码问题 转于:http://rzcoding.blog.163.com/blog/static/2222810172013101785738166/ ...
- 看透“0”、“1”逻辑,轻松解决Python中文乱码
Python中关于"中文乱码"的问题,现规整如下,并统一回答 同学问: jacky:我在爬取XX网站信息的时候,中文怎么总是显示的乱码? jacky:UTF-8与GBK到底是个啥? ...
- 笔记||Python3进阶之读取和写入yaml配置文件
yaml是专门用来写配置文件的语言,简洁强大,远比JSON格式方便,yaml在python语言中有PyYAML安装包. - 首先需要pip安装:pip install pyyaml - yaml基本语 ...
随机推荐
- WCF部署HTTP错误404.3
错误:WCF部署HTTP错误404.3-Not Found 由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添加处理程序.如果应下载文件,请添加MIME映射. 解决步骤如下: 控制面板-& ...
- FIFO 串口接收处理机制
与安富莱电子的串口处理机制做对比交互 参考链接: https://www.eet-china.com/mp/a161019.html
- Mysql 非幂等性
幂等性就是指:一个幂等操作任其执行多次所产生的影响均与一次执行的影响相同. -- 幂等性在分布式高并发中很常见,如不能重复点赞.电商订单库存数要一致等. MySQL解决非幂等性常用方法: 1.乐观锁 ...
- Localstorage、sessionStorage、cookie 的区别
共同点:都是保存在浏览器端.且同源的 区别: 1.cookie 数据始终在同源的 http 请求中携带(即使不需要),即 cookie 在浏览器和服务器 间来回传递,而 sessionStorage ...
- 2.TS 的数据类型
一.定义变量 TS 中创建变量有四个要素: 定义变量的关键字:var.let.const 变量名 变量的数据类型 变量的初始值 语法结构如下: let 变量名: 数据类型 = 初始值 注意,变量的初始 ...
- 3927Circular Sequence 思维题(求环形最大子列和)
Given a sequence with n elements, if the last element is also adjacent to the first element of the s ...
- jQuery测试用例-W3school
$("div").scrollLeft(100); // 设置滚动条的位置 $(document).ready(function(){ $("button"). ...
- Linux 三剑客常用命令
shell三剑客===================================================grep===================================== ...
- kafka工具的使用-发送数据
1.了解推送数据的是哪个topic,选择对应topic下面的partition分区 2.右侧界面选择Data,并点击『+』号: 3.可选择添加单个消息『add Single Message』或者添加多 ...
- SpringBoot(概述、起步依赖原理分析、SpringBoot配置(配置文件分类、YAML))
SpringBoot概述 Spring Boot 是由 Pivotal 团队提供用来简化 Spring 的搭建和开发过程的全新框架.随着近些年来微服务技术的流行,Spring Boot 也成了时下炙手 ...