Как написать файл yml с помощью пакета python pyml?

Я хочу создать файл yml с использованием словаря python, как сделать формат словаря, который я могу получить ниже формата файла yml

      responses:
  utter_greet:
  - text: Hey! How are you?
    buttons:
    - title: "good"
      payload: "/greet"
    - title: "bad"
      payload: "/health"

2 ответа

Решение

Вы можете использовать этот пакет для преобразования в dict https://github.com/Infinidat/munch

      pip3 install munch

конвертировать в dict

      import yaml
from munch import Munch
mydict = yaml.safe_load("""
responses:
  utter_greet:
  - text: Hey! How are you?
    buttons:
    - title: "good"
      payload: "/greet"
    - title: "bad"
      payload: "/health"
""")
print(mydict)

преобразовать dict в yaml

      with open('output.yml', 'w') as yaml_file:
    yaml.dump(mydict, yaml_file, default_flow_style=False)

Как получить этот шаблон yml с помощью Python:

Он должен генерировать UUID для файла, и сгенерированный файл должен иметь этот шаблон yml:

import uuid print (uuid.uuid1())u = str(uuid.uuid1()) u open (u+".yml", "a+")

Формат шаблона YML:

  • id: 7049e3ec-b822-4fdf-a4ac-18190f9b66d1name: Powerkatz (Staged)description: Используйте тактику Invoke-Mimikatz: метод доступа к учетным данным: Attack_id: T1003.001 name: «Дамп учетных данных ОС: память LSASS» Привилегия: Повышенные платформы: windows:psh:command: | Модуль импорта. \ Invoke-mimi.ps1;Invoke-Mimikatz -DumpCreds parsers: plugins.stockpile.app.parsers.katz:- source: domain.user.nameedge: has_passwordtarget: domain.user.password- source: domain.user.nameedge: has_hashtarget: domain.user.ntlm - источник: domain.user.name edge: has_hashtarget: domain.user.sha1 полезные данные: - invoke-mimi.ps1
Другие вопросы по тегам