Как мне отредактировать файл yaml с помощью Python таким образом, чтобы сохранить формат, комментарии, привязки и т. д. Python

Программы на Python
Anonymous
Как мне отредактировать файл yaml с помощью Python таким образом, чтобы сохранить формат, комментарии, привязки и т. д.

Сообщение Anonymous »

Предположим, у меня есть исходный файл yaml:

Код: Выделить всё

top_level: &TL
field0: somestring
field1: "this one has quotes"
field2: [1,2,3]
# This comment describes something very important about field3
field3:
deep_list:
- name: foo
field1: bar
field2: baz
quoxx: { flow_form: 42, bar: [one, two], field}
# Here is another super important comment about the blockform field
blockform:
- one
- two
- three
- name: bar
message: I was written by a human
and deliberately formatted
this way for a good reason.

level0:
level1:
level2:
- item
- item2: 23
tl: *TL
И я хотел бы изменить его с помощью программы Python. Например, возможно, я хочу, чтобы моя программа Python добавила новый элемент в top_level.field3.deep_list. Но, как вы могли заметить по содержимому этого файла, для этой операции изменения/обновления важно сохранить форматирование, соглашения о цитировании строк, привязки и комментарии остальной части файла. Другими словами, я хочу, чтобы модификация была минимально инвазивной: она должна добавлять только новые строки, необходимые для обновления списка, а все остальные строки следует оставить совершенно нетронутыми. Есть ли простой способ добиться этого? Есть ли какой-нибудь простой способ, кроме использования ruamel.yaml?


Подробнее здесь: https://stackoverflow.com/questions/786 ... t-comments

Вернуться в «Python»