by Guest » 12 Feb 2025, 08:27
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?
Ich brauche Ruamel oder Pyyaml oder was auch immer in Python-basierter Yaml-Parser die folgenden Zeilen lesen: < /p>
[code]TEST: &test !include test.yaml
TEST:
content1: value1
content2: value2
content1: value1
content2: value2
[/code]
Wie in den Dokumenten empfohlen, habe ich Konstruktor für Tag hinzugefügt! Include :
[code]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
[/code]
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?