如何在python中将YAML拆分为不同的文件?

莎玛

我使用yaml库中的safe_load在python中的变量中有这个yaml_file:

domainInfo:
    AdminUserName: '--FIX ME--'
    AdminPassword: '--FIX ME--'
topology:
    Name: 'wld-pil-10'
    ConfigBackupEnabled: true
    AdminServerName: 'wls-pil-10-sa-adm-n0'
    DomainVersion: 12.2.1.4.0
    ProductionModeEnabled: true
    ArchiveConfigurationCount: 20
    Cluster:
        'test-bruno-jee-r01a-c01':
            ClientCertProxyEnabled: true
            WeblogicPluginEnabled: true
    Server:
        'wls-pil-10-sa-adm-n0':
            ListenPort: 11030
            WeblogicPluginEnabled: true
            ClientCertProxyEnabled: true
            Machine: 'wlm-pil-10-n0'
        'test-bruno-jee-r01a-it-c01-m1-n1':
            ListenPort: 10022
            WeblogicPluginEnabled: true
            ClientCertProxyEnabled: true
            NMSocketCreateTimeoutInMillis: 30000
            Machine: 'wlm-pil-10-n1'
        'test-bruno-jee-r02a-it-c01-m1-n1':
            ListenPort: 10025
            WeblogicPluginEnabled: true
            ClientCertProxyEnabled: true
            NMSocketCreateTimeoutInMillis: 30000
            Machine: 'wlm-pil-10-n2'

为了拆分此yaml文件,我试图将键和值放入新词典中,但未成功。我想念什么?我知道我需要某种方式的字典,是否需要使用其他模块(例如pyyaml或ruamel)?

yaml_cluster = {}
yaml_cluster["topology"]["Name"] = yaml_file["topology"]["Name"]
yaml_cluster["topology"]["AdminServerName"] = yaml_file["topology"]["AdminServerName"]

结果:

致命的:[wls-pil-103-sa-adm-n0]:失败!=> {“已更改”:true,“ msg”:“非零返回码”,“ rc”:1,“ stderr”:“跟踪(最近一次调用):\ n文件” / tmp / ansible-tmp -1611083722.9917288-55849-215378473850896 / split_yaml.py“,第32行,位于\ n yaml_cluster [” topology“] [” Name“] = yaml_file [” topology“] [” Name“] \ nKeyError:'topology'\ n” ,“ stderr_lines”:[“追踪(最近一次通话):”,“文件” /tmp/ansible-tmp-1611083722.9917288-55849-215378473850896/split_yaml.py“,第32行,”,“ yaml_cluster [” topology“ ] [“ Name”] = yaml_file [“ topology”] [“ Name”] “,” KeyError:'topology'“ ],

埃里亚斯

您收到的错误是因为yaml_cluster["topology"]["Name"]分配了一个不存在任何键的值。yaml_cluster["topology"]不存在,因此您不能为该键分配任何内容Name

标准库中的Collections模块提供了一个类collections.defaultdict该类为键提供默认值(如果不存在)。在您的情况下defaultdict,将空字典作为默认值的a将值设置yaml_cluster["topology]{}(空字典),Name然后可以像往常一样为字典分配键值。

from collections import defaultdict

yaml_cluster = defaultdict(dict) # Specifying dictionary as default value for missing keys
yaml_cluster["topology"]["Name"] = yaml_file["topology"]["Name"]
yaml_cluster["topology"]["AdminServerName"] = yaml_file["topology"]["AdminServerName"]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在python中将csv文件行拆分为列?

来自分类Dev

如何在C中将文件拆分为多个文件?

来自分类Dev

如何在Python中将列表拆分为不同的字符串

来自分类Dev

如何在python中将三阶多维数组拆分为不同的数组?

来自分类Dev

如何在CSV文件中将单列拆分为多列

来自分类Dev

如何在python中将文本文件拆分为单词?

来自分类Dev

如何在python中将一个csv拆分为多个文件

来自分类Dev

如何在python中将文本文件的字符串拆分为char和number

来自分类Dev

如何在Python中将表达式拆分为多行

来自分类Dev

如何在Python中将线图拆分为子图?

来自分类Dev

如何在Python / OpenCV中将图像拆分为干净的段落?

来自分类Dev

如何在 Python 中将字符串拆分为列表?

来自分类Dev

如何在PHP中将数组随机拆分为成对的不同元素?

来自分类Dev

如何在Excel 2010中将DATE函数拆分为不同的段

来自分类Dev

如何在UNIX中将分隔符上的文本文件拆分为多个文件?

来自分类Dev

如何在bash脚本中将文件夹拆分为子文件夹

来自分类Dev

如何在Delphi中将TPageControl选项卡拆分为单独的文件?

来自分类Dev

如何在csv文件中将一列拆分为单独的列?

来自分类Dev

如何在Apollo Server中将类型定义和解析器拆分为单独的文件

来自分类Dev

如何在Android中将文件正确拆分为字节数组

来自分类Dev

如何在Lua Rock中将Torch类拆分为几个文件

来自分类Dev

在python中将字符串拆分为不同的列

来自分类Dev

如何在T-SQL中将一行中的时间范围拆分为不同行中的不同季度

来自分类Dev

python-如何在python中将多维数组拆分为多个单个数组?

来自分类Dev

如何在python中将字符串拆分为多个部分?

来自分类Dev

如何在python中将字典键拆分为多个单独的键?

来自分类Dev

如何在python中将字节字符串拆分为单独的字节

来自分类Dev

如何在Python中将字符串拆分为单词和特殊字符?

来自分类Dev

如何在Python中将没有空格的字符串拆分为整数列表?

Related 相关文章

  1. 1

    如何在python中将csv文件行拆分为列?

  2. 2

    如何在C中将文件拆分为多个文件?

  3. 3

    如何在Python中将列表拆分为不同的字符串

  4. 4

    如何在python中将三阶多维数组拆分为不同的数组?

  5. 5

    如何在CSV文件中将单列拆分为多列

  6. 6

    如何在python中将文本文件拆分为单词?

  7. 7

    如何在python中将一个csv拆分为多个文件

  8. 8

    如何在python中将文本文件的字符串拆分为char和number

  9. 9

    如何在Python中将表达式拆分为多行

  10. 10

    如何在Python中将线图拆分为子图?

  11. 11

    如何在Python / OpenCV中将图像拆分为干净的段落?

  12. 12

    如何在 Python 中将字符串拆分为列表?

  13. 13

    如何在PHP中将数组随机拆分为成对的不同元素?

  14. 14

    如何在Excel 2010中将DATE函数拆分为不同的段

  15. 15

    如何在UNIX中将分隔符上的文本文件拆分为多个文件?

  16. 16

    如何在bash脚本中将文件夹拆分为子文件夹

  17. 17

    如何在Delphi中将TPageControl选项卡拆分为单独的文件?

  18. 18

    如何在csv文件中将一列拆分为单独的列?

  19. 19

    如何在Apollo Server中将类型定义和解析器拆分为单独的文件

  20. 20

    如何在Android中将文件正确拆分为字节数组

  21. 21

    如何在Lua Rock中将Torch类拆分为几个文件

  22. 22

    在python中将字符串拆分为不同的列

  23. 23

    如何在T-SQL中将一行中的时间范围拆分为不同行中的不同季度

  24. 24

    python-如何在python中将多维数组拆分为多个单个数组?

  25. 25

    如何在python中将字符串拆分为多个部分?

  26. 26

    如何在python中将字典键拆分为多个单独的键?

  27. 27

    如何在python中将字节字符串拆分为单独的字节

  28. 28

    如何在Python中将字符串拆分为单词和特殊字符?

  29. 29

    如何在Python中将没有空格的字符串拆分为整数列表?

热门标签

归档