python yaml文件数据按原有的数据顺序dump
yml文件的更新后工具类:
import os
import yaml class YamlUtils():
def __init__(self,folder_name='config'):
self.foler_name = folder_name def get_yaml_load(self, file_name):
yaml_filename = self.__get_yaml_file(file_name)
f = open(yaml_filename, encoding='utf-8')
yaml_load = yaml.full_load(f)
return yaml_loaddef __get_yaml_file(self, file_name):
"""
:param file_name: the filename of the configfile
:return: the objection of the config
"""
try:
yaml_file = self.__get_file_path(self.foler_name, file_name)
return yaml_file
except Exception as e:
print("read config file error:" + str(e)) @staticmethod
def __get_file_path(folder_name, file_name):
"""
:param folder_name: the directory of the config ,the default directory is config
:param file_name: the filename of the configfile
:return: the objection of the config
"""
try:
config_path = os.path.abspath('..')
folder_path = os.path.join(config_path, folder_name)
file_path = os.path.join(folder_path, file_name)
return file_path
except Exception as e:
print('read config file failed ' + str(e))
def set_yaml(self, file_name,content):
"""
调用此方法时,需新建一个YamlUtils().set_yaml(file_name,content)
用原来的设置不会生效
default_flow_style=False : 表示dump后的字典数据全部以yml格式显示,默认为为True
sort_keys=False : 表示dump后的字典数据按原有的顺序示,为True时按字母的排序展示,默认为为True
"""
yaml_filename = self.__get_yaml_file(file_name)
f = open(yaml_filename,'w', encoding='utf-8')
yaml_dump = yaml.dump(content,f,allow_unicode=True, default_flow_style=False,sort_keys=False)
# print("数据更新完成")
return yaml_dump
yml文件原有数据顺序:
更改字段值后的顺序:
出现原因是:
yaml.dump(content,f,allow_unicode=True, default_flow_style=False,sort_keys=True)
该行的代码中sort_keys的默认值为True,改为Flase后可修复代顺序变化的问题
python yaml文件数据按原有的数据顺序dump的更多相关文章
- python yaml文件内容的读取
示例: (1)host_header.yaml 文件中的内容 host: https://testapp.goodiber.com/v2/ #dev1的测试环境域名 #请求接口的请求头中的共用参数 ...
- python yaml文件读写
import yaml yaml_dict={"} with open("a.yaml", "w") as f: yaml.safe_dump(yam ...
- Python读取Yaml文件
近期看到好多使用Yaml文件做为配置文件或者数据文件的工程,随即也研究了下,发现Yaml有几个优点:可读性好.和脚本语言的交互性好(确实非常好).使用实现语言的数据类型.有一个一致的数据模型.易于实现 ...
- yaml文件解析详解
前言 yaml文件是什么?yaml文件其实也是一种配置文件类型,相比较ini,conf配置文件来说,更加的简洁,操作也更加简单,同时可以存放不同类型的数据,不会改变原有数据类型,所有的数据类型在读取时 ...
- Python读取和处理文件后缀为".sqlite"的数据文件
最近在弄一个项目分析的时候,看到有一个后缀为”.sqlite”的数据文件,由于以前没怎么接触过,就想着怎么用python来打开并进行数据分析与处理,于是稍微研究了一下. SQLite是一款非常流行的关 ...
- python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件
python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 python操作txt文件中 ...
- 快速入门Python中文件读写IO是如何来操作外部数据的?
读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘, ...
- Python:将爬取的网页数据写入Excel文件中
Python:将爬取的网页数据写入Excel文件中 通过网络爬虫爬取信息后,我们一般是将内容存入txt文件或者数据库中,也可以写入Excel文件中,这里介绍关于使用Excel文件保存爬取到的网页数据的 ...
- Python 读写文件中数据
1 需求 在文件 h264.txt 中的数据如图1,读入该文件中的数据,然后将第1列的地址删除,然后将数据输出到h264_out.txt中: 图1 h264.txt 数据截图 ...
随机推荐
- Skill 脚本演示
https://www.cnblogs.com/yeungchie/ Schematic ycBusNet.il 用于原理图中按照一定格式,批量创建 Bus . ycNetToPin.il 通过选中一 ...
- luogu P2467 [SDOI2010]地精部落
很有意思的dp计数题目. 思考一下发现开始时山峰和开始是山谷的方案数是相同的 所以我们只需要统计一个即可. 证明的话可以考虑对于任意一种开始时山峰的方案 每个数字变成n-a[i]+1 那么可以此方案还 ...
- 【HNOI2012】永无乡 题解(并查集+线段树合并)
题目链接 给定一张含$n$个点$m$条边的无向图,每个点有一个重要指数$a_i$.有两种操作:1.在$x$和$y$之间连一条边:2.求$x$所在连通块中重要程度第$k$小的点. ----------- ...
- 18 . Go之操作Mysql
安装mysql wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm yum -y localinstall ...
- 【av68676164(p33-p34)】进程通信
4.7.1 匿名管道通信 任务:把一个CMD控制台程序改成窗口程序 "算命大师"程序的改进版 改进目标:标准的Windows窗口程序 (匿名)管道通信机制 管道定义 pipe 定义 ...
- C/C++中char[]和string的连接/合并
一: C风格字符串连接 #include <iostream> using namespace std; int main() { const char *str = "hell ...
- 2020-07-16:如何获得一个链表的倒数第n个元素?
福哥答案2020-07-16: 1.快慢指针.快指针先走n步,然后快慢指针同时走,直到快指针走到尾.2.两次遍历.第一次遍历获取链表长度,然后计算出序号,然后遍历获取序号下的元素.3.数组保存.遍历一 ...
- C#LeetCode刷题之#686-重复叠加字符串匹配(Repeated String Match)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3963 访问. 给定两个字符串 A 和 B, 寻找重复叠加字符串A ...
- Css 图片自适应
设置 CSS .container{ overflow:auto; } img{ width:100%; height:auto; overflow:hidden; } 设置 template < ...
- JavaScript Object初始化的不同方式
不带原型的对象,纯对象 const plaintObject = Object.create(null) 带原型的对象 const originObject = new Object()