Вы можете попытаться сделать это, добавив CommentTokens
, но
Тип start_mark должен приходить с ruamel.yaml.error
.
Гораздо проще сделать insert
a CommentedMap
(вот что
отображение будет загружено как при выполнении обычной, двусторонней загрузки),
и затем используйте его yaml_add_eol_comment
метод:
import sys
import ruamel.yaml
insert = ruamel.yaml.comments.CommentedMap()
insert['test'] = 'asdf'
insert.yaml_add_eol_comment('Test Comment!', 'test', column=0)
yaml = ruamel.yaml.YAML()
# yaml.indent(mapping=4, sequence=4, offset=2)
yaml.dump(insert, sys.stdout)
, что дает:
test: asdf # Test Comment!
column=0
необязательно. Если вы не укажете начальный столбец,
вы получите два пробела, прежде чем #
, 0 попытается вытолкнуть его полностью вперед, но, конечно, пара ключ-значение находится на пути.
Вы можете указать #
в
EOL комментарий, который вы указываете для метода yaml_add_eol_comment
, но если
это не там, это будет добавлено.
Если у вас есть несколько комментариев после нескольких ключей подряд
и чтобы ваши комментарии были выровнены, вам нужно только указать
добавлен столбец первого.