【问题标题】:How to write yml file using python pyml package?如何使用 python yaml 包编写 yaml 文件?
【发布时间】:2021-07-07 05:43:45
【问题描述】:

我想使用 python 字典创建 yml 文件如何制作字典格式,我可以得到低于格式 yml 文件的字典格式

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

【问题讨论】:

    标签: python python-3.x pyml


    【解决方案1】:

    如何使用python获取这个yml模板:

    它必须为一个文件生成一个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
    

    【讨论】:

      【解决方案2】:

      您可以使用此包转换为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)
      

      将字典转换为yaml

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

      【讨论】:

        猜你喜欢
        • 2018-07-17
        • 2014-04-11
        • 2015-01-31
        • 2011-08-12
        • 1970-01-01
        • 2015-06-13
        • 2014-09-16
        • 2018-12-19
        相关资源
        最近更新 更多