在Python中解析Yaml:检测重复密钥

2024-06-16 10:26:39 发布

您现在位置:Python中文网/ 问答频道 /正文

python中的yaml库无法检测到重复的密钥。这是一个has been reported years ago的错误,目前还没有修复。在

我想找一个像样的方法来解决这个问题。创建一个返回所有键的regex有多合理?那么很容易发现这个问题。在

任何一个正则表达式主节点是否可以建议一个能够提取所有密钥以找到重复项的正则表达式?在

文件示例:

mykey1:
    subkey1: value1
    subkey2: value2
    subkey3:
      - value 3.1
      - value 3.2
mykey2:
    subkey1: this is not duplicated
    subkey5: value5
    subkey5: duplicated!
    subkey6:
       subkey6.1: value6.1
       subkey6.2: valye6.2

Tags: 方法yaml节点value错误密钥agoregex
1条回答
网友
1楼 · 发布于 2024-06-16 10:26:39

yamllint命令行工具的作用是 想要:

sudo pip install yamllint

具体地说,它有一个规则key-duplicates来检测重复和密钥 互相书写:

^{pr2}$

(它有许多其他规则可以启用/禁用或调整。)

相关问题 更多 >