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]:失敗しました!=> {"changed":true、 "msg": "non-zero return code"、 "rc":1、 "stderr": "Traceback(最後の最後の呼び出し):\ 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.defaultdictは、キーが存在しない場合にデフォルト値を与えるクラスを提供します。あなたの場合、defaultdictデフォルト値として空の辞書を持つaは、の値yaml_cluster["topology]{}(空のdict)に設定し、キー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

CarouselPageでContentPageを異なるファイルに分割するにはどうすればよいですか?

分類Dev

PythonでYAMLファイルにコメントを追加するにはどうすればよいですか?

分類Dev

大きなファイルを小さな部分に分割するにはどうすればよいですか?

分類Dev

Pythonでテキストファイルを段落に分割するにはどうすればよいですか?

分類Dev

Pythonでcsvファイルの行を列に分割するにはどうすればよいですか?

分類Dev

異なるファイルを開かずに比較するにはどうすればよいですか?

分類Dev

PythonでYAMLファイルを解析するにはどうすればよいですか

分類Dev

このyamlファイルをpythonとruamelで更新するにはどうすればよいですか?

分類Dev

異なるファイルで関数を再利用するにはどうすればよいですか?

分類Dev

ASP.NET Coreでサービス登録を異なるファイルに分割するにはどうすればよいですか?

分類Dev

Pythonを使用してファイルから各行を分割するにはどうすればよいですか?

分類Dev

UNIXの異なる列のファイルを比較するにはどうすればよいですか?

分類Dev

YAMLファイルを別のファイルに含めるにはどうすればよいですか?

分類Dev

1つのパーツ内のSphinxチャプターを異なるファイルに分割するにはどうすればよいですか?

分類Dev

puppetでyamlファイルを永続的に無効にするにはどうすればよいですか?

分類Dev

各段落が独自のファイルになるようにテキストファイルを分割するにはどうすればよいですか?

分類Dev

csvファイルで列を個別の列に分割するにはどうすればよいですか?

分類Dev

列数に基づいてファイルを分割するにはどうすればよいですか?

分類Dev

koaルートを別々のファイルに分割するにはどうすればよいですか?

分類Dev

拡張子が異なる一致するファイルがないファイルを削除するにはどうすればよいですか?

分類Dev

yamlファイル内にjsonエントリを追加するにはどうすればよいですか?

分類Dev

YAMLファイルをgroovyで解析するにはどうすればよいですか?

分類Dev

RubyでYAMLファイルを解析するにはどうすればよいですか?

分類Dev

yamlファイルでjson変数を使用するにはどうすればよいですか(Helm)

分類Dev

Terraformでyamlファイルを使用するにはどうすればよいですか?

分類Dev

コマンドにパイプするためにsplitto stdoutのようなファイルを分割するにはどうすればよいですか?

分類Dev

TypeScriptクラスを複数のファイルに分割するにはどうすればよいですか?

分類Dev

QMLコードを複数のファイルに分割するにはどうすればよいですか?

分類Dev

PythonTkinterコードを複数のファイルに分割するにはどうすればよいですか

Related 関連記事

  1. 1

    CarouselPageでContentPageを異なるファイルに分割するにはどうすればよいですか?

  2. 2

    PythonでYAMLファイルにコメントを追加するにはどうすればよいですか?

  3. 3

    大きなファイルを小さな部分に分割するにはどうすればよいですか?

  4. 4

    Pythonでテキストファイルを段落に分割するにはどうすればよいですか?

  5. 5

    Pythonでcsvファイルの行を列に分割するにはどうすればよいですか?

  6. 6

    異なるファイルを開かずに比較するにはどうすればよいですか?

  7. 7

    PythonでYAMLファイルを解析するにはどうすればよいですか

  8. 8

    このyamlファイルをpythonとruamelで更新するにはどうすればよいですか?

  9. 9

    異なるファイルで関数を再利用するにはどうすればよいですか?

  10. 10

    ASP.NET Coreでサービス登録を異なるファイルに分割するにはどうすればよいですか?

  11. 11

    Pythonを使用してファイルから各行を分割するにはどうすればよいですか?

  12. 12

    UNIXの異なる列のファイルを比較するにはどうすればよいですか?

  13. 13

    YAMLファイルを別のファイルに含めるにはどうすればよいですか?

  14. 14

    1つのパーツ内のSphinxチャプターを異なるファイルに分割するにはどうすればよいですか?

  15. 15

    puppetでyamlファイルを永続的に無効にするにはどうすればよいですか?

  16. 16

    各段落が独自のファイルになるようにテキストファイルを分割するにはどうすればよいですか?

  17. 17

    csvファイルで列を個別の列に分割するにはどうすればよいですか?

  18. 18

    列数に基づいてファイルを分割するにはどうすればよいですか?

  19. 19

    koaルートを別々のファイルに分割するにはどうすればよいですか?

  20. 20

    拡張子が異なる一致するファイルがないファイルを削除するにはどうすればよいですか?

  21. 21

    yamlファイル内にjsonエントリを追加するにはどうすればよいですか?

  22. 22

    YAMLファイルをgroovyで解析するにはどうすればよいですか?

  23. 23

    RubyでYAMLファイルを解析するにはどうすればよいですか?

  24. 24

    yamlファイルでjson変数を使用するにはどうすればよいですか(Helm)

  25. 25

    Terraformでyamlファイルを使用するにはどうすればよいですか?

  26. 26

    コマンドにパイプするためにsplitto stdoutのようなファイルを分割するにはどうすればよいですか?

  27. 27

    TypeScriptクラスを複数のファイルに分割するにはどうすればよいですか?

  28. 28

    QMLコードを複数のファイルに分割するにはどうすればよいですか?

  29. 29

    PythonTkinterコードを複数のファイルに分割するにはどうすればよいですか

ホットタグ

アーカイブ