Ruamel und Pyyaml ​​kombinieren den benutzerdefinierten Tag und den Merge -Operator nichtPython

Python-Programme
Guest
 Ruamel und Pyyaml ​​kombinieren den benutzerdefinierten Tag und den Merge -Operator nicht

Post by Guest »

Ich brauche Ruamel oder Pyyaml ​​oder was auch immer in Python-basierter Yaml-Parser die folgenden Zeilen lesen: < /p>

Code: Select all

TEST: &test !include test.yaml
TEST:
content1: value1
content2: value2

content1: value1
content2: value2
Wie in den Dokumenten empfohlen, habe ich Konstruktor für Tag hinzugefügt! Include :

Code: Select all

def _getConfigWithInclusions(path, inclusionHandler):
yaml = YAML()
yaml.Constructor.add_constructor('!include', inclusionHandler)
try:
with open(path) as stream:
res = yaml.load(stream)
except YAMLError as e:
raise RuntimeError(f'Most likely config file {path} is corrupted.', e)
return res
< /code>
, aber ich habe auf das [url=viewtopic.php?t=11587]Problem[/url] gestoßen: < /p>
ruamel.yaml.constructor.ConstructorError: while constructing a mapping
in ".../config/yaml/default/sim_top.yaml", line 2, column 1
expected a mapping or list of mappings for merging, but found scalar
in ".../config/yaml/default/sim_top.yaml", line 2, column 10
Ich werde untersucht, es geschieht, weil der Knoten, der test.yaml enthält, das bei der Komposition erstellt wurde, (offensichtlich) scalarnode. Aber das Zusammenführen erfolgt vor dem Aufrufen meines InclusionHandler , daher kann es nicht anders sein.
Dies scheint sowohl für Ruamel /> Bitte können Sie helfen, einige Problemumgehungen für diesen Fall zu finden?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post