忽略keyorder时,对YAML文件进行基本的差异化

yam-sort的Python项目详细描述


目的

当键无序时,是否需要比较两个YAML文件?
也许你尝试过剪切和粘贴来移动按键,想知道是否有 一个更好的方法
现在有-yam_排序!

好吧,我可能看了太多的深夜电视。但这个图书馆 因为在使用YAML文件时感到沮丧。 我使用的是AWS-API网关YAML模板, 它有时以random顺序导出(尤其是在对其进行更改时), 很难做到 将签入的副本与git进行比较。在n次移动按键之后,我 决定让它自动化。在

  • 对YAML文件进行基本的区分,同时忽略键/子键的顺序。在
  • 重新排序第二个dictionary/YAML文件,以匹配第一个文件。忽略丢失的钥匙, 将额外的键移到列表的末尾。在

这是一个非常集中的库-它对一个YAML文件进行排序以匹配 另一个YAML文件中的密钥顺序。但我不知道还有其他的自动化方式 这样做,厌倦了手工操作。在

Pip要求

  • PyYAML==5.1.2
  • virtualenv(可选,但强烈推荐)

安装

# activate a virtual environment
pip install yam_sort

使用

^{pr2}$
optional arguments:
  -h, --help                                   show this help message and exit
  -s first second, --sync file_one file_two    sync two YAML files
  -o, --overwrite                              saves output to second file
  -k first second, --keys file_one file_two    diff two YAML files by keys only

因为这个库的目的是比较从中导出的YAML文件 awsapi网关,得到的排序文件必须尽可能相似。 这包括文件中键/值的格式。AWS以未加引号的形式导出密钥, 以及引用的所有字符串值。因此,此库将复制格式 从原始文件,在输出文件中。如果字符串被双引号引用,则 在同一个输出中,应该是单引号和双引号

已知错误

有些值可以是多行的,特别是在以下部分:

  • x-amazon-apigateway-gateway-响应:

它们不能正确地复制到output-dict

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在java中将字符串转换为音频输入   java如何使用Spring Boot RestTemplate解组json列表   计算机上C++ OpenCV项目转换为OpenCV Android的java步骤   Java Spring Telegraf数据表不工作   openurlconnection与connect之间的java差异?   java Solr字段搜索、通配符和转义字符   java如何使用DLFolderLocalServiceUtil类的getFolders()方法?   尝试用Java编写文件   java连续双缓冲解决方案不起作用   两个数组的Java乘积   java Jackson,如何正确编写自定义反序列化程序   java将布尔标志按一定顺序排列以获得更好的性能是否有意义   java Vaadin无缓冲网格无法关闭   java在MySQL中以同一用户身份同时从不同客户端登录安全吗?   java如何使用安卓asynchttp库   java无法在Android中使用AlarmManager停止服务   java在Hibernate的XML配置文件中指定默认值   Spring启动应用程序中的java内存SQLITE不工作   Java代码无法写入文本文件,