Ruamel und Pyyaml kombinieren den benutzerdefinierten Tag und den Merge -Operator nicht
Posted: 12 Feb 2025, 08:27
Ich brauche Ruamel oder Pyyaml oder was auch immer in Python-basierter Yaml-Parser die folgenden Zeilen lesen: < /p>
Wie in den Dokumenten empfohlen, habe ich Konstruktor für Tag hinzugefügt! Include :
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?
Code: Select all
TEST: &test !include test.yaml
TEST:
content1: value1
content2: value2
content1: value1
content2: value2
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
Dies scheint sowohl für Ruamel /> Bitte können Sie helfen, einige Problemumgehungen für diesen Fall zu finden?