忽略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
- 项目
标签: