我们可以使用Python的PyYAML库来读取和比较两个YAML文件。在这个例子中,我们有两个YAML文件,每个文件有相同的内容,但是对于同一个事物有不同的键或标签。我们想要比较这两个文件,找出它们的相同点和不同点。
在终端菜单上使用以下命令来安装 PyYAML 库
pip install pyyaml
import yaml
# 读取两个YAML文件
with open('file1.yaml') as f1, open('file2.yaml') as f2:
yaml_file1 = yaml.safe_load(f1)
yaml_file2 = yaml.safe_load(f2)
我们可以使用Python的“set”数据类型来比较两个文件中相同和不同的数据。
# 创建两个集合,一个集合包含file1.yaml中的所有键,另一个集合包含file2.yaml中的所有键
keys1 = set(yaml_file1.keys())
keys2 = set(yaml_file2.keys())
# 找出相同的键
common_keys = keys1 & keys2
# 打印相同的键
print(f"共同键:{common_keys}")
# 找出不同的键
diff_keys1 = keys1 - common_keys
diff_keys2 = keys2 - common_keys
# 打印不同的键
print(f"file1.yaml的不同键:{diff_keys1}")
print(f"file2.yaml的不同键:{diff_keys2}")
# 找出相同键及其相应的值,将其打印出来
for key in common_keys:
if yaml_file1[key] == yaml_file2[key]:
print(f"键:{key},