специальные символы в yalm.dump python

#python #yaml #pyyaml #rasa

#python #yaml #pyyaml #rasa

Вопрос:

Я пытаюсь сохранить файл в формате yaml с

 with open('data.yml', 'w') as outfile:
   yaml.dump(data, outfile, default_flow_style=False)
 

с данными, словарь с этим форматом:

 data={"## intent:greet": ["hi", "hello" ... "hola"], "## intent:goodbye": [...]}
 

чтобы использовать его как nlu в разработке rasa.
Проблема в том, что yalm.dump не сохраняет ключи надлежащим образом из-за символа ##.
он сохраняет файл как

 '## intent:greet':
- hi
- hello
 

вместо

 ## intent:greet
- hi
- hello
 

Каким может быть способ решить символы ‘ ‘ и удалить строку: in key (## intent:AAA)??

Спасибо

Ответ №1:

Вы пытаетесь сгенерировать файл Markdown с помощью процессора YAML. Это не сработает.

Имейте в виду, что Rasa 1.x использовал формат Markdown, который использовался ## intent:greet в качестве заголовка, в то время как Rasa 2.x использует формат YAML, который выглядит по-другому. Вы используете либо формат 1.x Markdown, либо YAML. Вы не можете сгенерировать формат 1.x с помощью процессора YAML.

Комментарии:

1. Есть идеи сохранить формат Rasa 1.x Markdown из python?

2. mdutils но я не понимаю, почему бы вам просто не сгенерировать содержимое в виде строки, а затем записать его в файл.