Как написать файл 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