#python #python-3.x #pyml
Вопрос:
я хочу создать файл yml с помощью словаря python как создать формат словаря, который я могу получить ниже файла формата yml
responses:
utter_greet:
- text: Hey! How are you?
buttons:
- title: "good"
payload: "/greet"
- title: "bad"
payload: "/health"
Ответ №1:
Вы можете использовать этот пакет для преобразования в dict
https://github.com/Infinidat/munch
pip3 install munch
преобразовать в дикт
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)
Ответ №2:
Как получить этот шаблон yml с помощью python:
Он должен генерировать UUID
файл для файла, и сгенерированный файл должен иметь это yml template
:
import uuid
print(uuid.uuid1())
u = str(uuid.uuid1())
u
open(u ".yml", "a ")
Формат шаблона YML:
- id: 7049e3ec-b822-4fdf-a4ac-18190f9b66d1
name: Powerkatz (Staged)
description: Use Invoke-Mimikatz
tactic: credential-access
technique:
attack_id: T1003.001
name: "OS Credential Dumping: LSASS Memory"
privilege: Elevated
platforms:
windows:
psh:
command: |
Import-Module .invoke-mimi.ps1;
Invoke-Mimikatz -DumpCreds
parsers:
plugins.stockpile.app.parsers.katz:
- source: domain.user.name
edge: has_password
target: domain.user.password
- source: domain.user.name
edge: has_hash
target: domain.user.ntlm
- source: domain.user.name
edge: has_hash
target: domain.user.sha1
payloads:
- invoke-mimi.ps1