当前位置: 首页 > 知识库问答 >
问题:

使用pyyaml输出很好

钮勇
2023-03-14
- color green :
     inputs :
        - port thing :
            widget-hint : filename
            widget-help : Select a filename
        - port target_path : 
            widget-hint : path
            value : 'thing' 
     outputs:
        - port value:
             widget-hint : string
     text : |
            I'm lost and I'm found
            and I'm hungry like the wolf.
>>> print yaml.dump( d3, default_flow_style=False, default_style='' )
- color green:
    inputs:
    - port thing:
        widget-help: Select a filename
        widget-hint: filename
    - port target_path:
        value: thing
        widget-hint: path
    outputs:
    - port value:
        widget-hint: string
    text: 'I''m lost and I''m found

      and I''m hungry like the wolf.

      '
>>> print yaml.dump( d3, default_flow_style=False, default_style='|' )
- "color green":
    "inputs":
    - "port thing":
        "widget-help": |-
          Select a filename
        "widget-hint": |-
          filename
    - "port target_path":
        "value": |-
          thing
        "widget-hint": |-
          path
    "outputs":
    - "port value":
        "widget-hint": |-
          string
    "text": |
      I'm lost and I'm found
      and I'm hungry like the wolf.

共有1个答案

赏高格
2023-03-14
import ruamel.yaml

yaml_str = """\
- color green :
     inputs :
        - port thing :
            widget-hint : filename
            widget-help : Select a filename
        - port target_path :
            widget-hint : path
            value : 'thing'
     outputs:
        - port value:
             widget-hint : string
     text : |
            I'm lost and I'm found
            and I'm hungry like the wolf.
"""

data = ruamel.yaml.round_trip_load(yaml_str)
res = ""
for line in ruamel.yaml.round_trip_dump(data, indent=5, block_seq_indent=3).splitlines(True):
    res += line[3:]
print(res)
- color green:
       inputs:
          - port thing:
                 widget-hint: filename
                 widget-help: Select a filename
          - port target_path:
                 widget-hint: path
                 value: thing
       outputs:
          - port value:
                 widget-hint: string
       text: |
            I'm lost and I'm found
            and I'm hungry like the wolf.
 类似资料:
  • PyYAML是一个Python的YAML解析器。 YAML ="YAML Ain't Markup Language"(缩写为YAML)。这是一种数据序列化(serialization )语言,是一种可读的文本的数据结构,它的设计目标是使人们容易读,程序容易处理。它类似XML,但是比XML简单。

  • 问题内容: 我试图在python中打印一些大的东西,而不是得到整个结果,我得到了中间带有“ …”的部分。任何想法如何获得全部? 例如 代码是: 我已经将其转换为字符串,并且在写入文件时得到了相同的结果 问题答案: 对于,请致电: 将阈值提高到无穷大。有关更多详细信息,请参见文档。 对于Python 3,请改用:

  • 问题内容: 首先,免责声明:我对YAML不太熟悉。我正在尝试将YAML文档解析为键值对(不要担心我的工作方式。我已经解决了这一点) 我的文件以前看起来像: 然后,有人去改变了它。 我得到这个解析错误: 这到底是什么意思?我将如何将其仅解释为两个字符呢?我只想要一个字符串键和值的字典!另外,也不可以编辑yaml文件。必须使用解析器在代码中解决问题。 问题答案: 感叹号是YAML标签的前缀。解析器必须

  • 我想为一个项目安装PyYAML,我能找到的只是http://pyyaml.org/站点的链接。我下载了python 3.5 exe文件,上面写着“需要Python 3.5版本,在注册表中找不到” 我搜索了其他安装方法。我在堆栈溢出上找到的唯一一个是“$pip install pyyaml”。它没有说明应该在哪里使用命令来安装包。

  • 问题内容: 为什么我从以下代码中获得“ AAAAAAAAA”而不是“ 1A234A567”: 任何想法? 问题答案: 函数以正则表达式为参数。和正则表达式“。” 表示“任何字符”。您必须对其进行转义以指定它是您想要的字符:

  • 问题内容: 我想知道是否有一种简单的方法来格式化dict-outputs的字符串,例如: …,简单的str(dict)只会让您难以理解… 就我对Python的了解而言,我将不得不编写许多带有许多特殊情况和string.replace()调用的代码,而这个问题本身看起来并不太像一个1000行的问题。 请建议根据此形状格式化所有字典的最简单方法。 问题答案: 根据您对输出所做的操作,一种选择是将JSO