- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我找不到如何自动美化我的 YAML 文件。
示例:
我有 SashaPrettifyYAML.yaml
文件:
sasha_commands:
# Sasha comment
sasha_command_help: {call: sublime.command_help, caption: 'Sasha Command: Command Help'}
我想删除{大括号}:
sasha_commands:
# Sasha comment
sasha_command_help:
call: sublime.command_help
caption: 'Sasha Command: Command Help'
最佳答案
在ruamel.yaml.cmd
中没有选项可以执行此操作,但是使用一个小型Python程序并使用ruamel.yaml
来执行此操作相当简单,通过以往返模式(默认)加载和转储。
您需要做的唯一一件事是确保数据结构上的流样式(即键 sasha_command_help
的值)设置为 block 样式(这就是我解释您的方式) “美化 YAML”的定义):
import sys
import ruamel.yaml
yaml_str = """\
sasha_commands:
# Sasha comment
sasha_command_help: {call: sublime.command_help, caption: 'Sasha Command: Command Help'}
"""
yaml = ruamel.yaml.YAML()
yaml.preserve_quotes = True
data = yaml.load(yaml_str)
data['sasha_commands']['sasha_command_help'].fa.set_block_style()
yaml.dump(data, sys.stdout)
这将准确地给出您期望的输出。
可以在 ruamel.yaml
源中的 scalarstring.py
中找到递归数据结构 Walker,并对其进行修改以制作通用的“make-everything-block-style” “常规:
import sys
import ruamel.yaml
def block_style(base):
"""
This routine walks over a simple, i.e. consisting of dicts, lists and
primitives, tree loaded from YAML. It recurses into dict values and list
items, and sets block-style on these.
"""
if isinstance(base, dict):
for k in base:
try:
base.fa.set_block_style()
except AttributeError:
pass
block_style(base[k])
elif isinstance(base, list):
for elem in base:
try:
base.fa.set_block_style()
except AttributeError:
pass
block_style(elem)
yaml = ruamel.yaml.YAML()
yaml.preserve_quotes = True
file_in = sys.argv[1]
file_out = sys.argv[2]
with open(file_in) as fp:
data = yaml.load(fp)
block_style(data)
with open(file_out, 'w') as fp:
yaml.dump(data, fp)
如果您将以上内容存储在 prettifyyaml.py
中,您可以使用以下方式调用它:
python prettifyyaml.py SashaPrettifyYAML.yaml Prettified.yaml
由于您已经在嵌入空格的标量周围使用单引号,因此如果省略 yaml.preserve_quotes = True
,您将不会看到任何变化。但是,如果您使用了双引号标量,那么该行将确保保留双引号。
关于yaml - 用注释美化 YAML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49608717/
我在我们的项目中使用 PageDpwn markdown 来轻松输入内容和代码片段。我已经打印出 markdown 并将其转换为 HTML。我使用 jQuery $.ajax 从数据库中检索 mark
AWK的输出,主要还是靠 print 和 printf 两个函数,而这两个函数,我们前面已经用过很多次了。 print 和 printf 主要从 C 语言 借鉴而来,而且继承了 C 语言 的输出格式
我有一个 Jinja2 template我想使用,但不能与美化代码结合使用。 This question之前有人问过这个问题,但在将近 2 年的时间里没有答案,所以现在也许有答案了。 {% f
我听说过美化/美化 JSON 的网站。它究竟意味着什么? 最佳答案 这意味着它的一个更易于阅读的版本。例如。以下是有效的 json,但可读性差: {"outcome" : "success", "re
我们有一个 Win32 应用程序,它在工具栏等上显示工具提示。工具提示是带有合并文本的非常基本的矩形。我们希望能够美化这些,例如,具有圆角或渐变填充背景。我无法在 Win32 API 集中找到任何控制
我有一个 JSON 对象,当我提醒它时,我得到这个: 我想得到这个: function getNameById(id){ return usersArray.find(item => item
在我的 C#/ASP.NET 项目中,我有一个具有特定行为类别的对象。每个行为类别在物理上都依赖于一个根对象,但为了使代码更好地阅读,我想清楚地区分这些类别。我认为看看我的实现与其他人为解决相同问题而
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
假设我有一个 System.Xml.XmlDocument谁的InnerXml是: Stan LaurelOliver Hardy 我想这样格式化它,添加换行符和空格:
我目前正在实现 ace作为多种编程语言的编辑器。我真的很想实现一个美化功能,目前我使用这种方法: var beautify = ace.require("ace/ext/beautify"); //
我需要在 html 页面上美化我的 json 输出,我正在使用以下代码执行此操作: $.each($('td.pretty_json'), function(key, value){
有没有办法让 clang 输出插入回车符?当使用详细选项进行编译时,我只会得到这些巨大的不可读的编译器标志和路径转储。 最佳答案 使用 popen开始你的clang session 。创建一个新命令行
我有一个关于 Java 的 XML API 的简单问题,我希望也有一个简单的答案: 假设处理后我有以下 XML 输出: some content
已结束。此问题不符合 Stack Overflow guidelines .它目前不接受答案。 我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。 关闭
奇怪的是,我试图以非常格式化的方式打印我的 JSON,但是我的 JSON 不断返回 \并且打印不漂亮。 我有这个适用于 plnkr 但不适用于我的实际应用程序的解决方案。下图是打印出来的 JSON,类
我正在尝试使用此代码来美化从另一个服务检索的 JSON 对象,并将其返回到静态页面(必须如此)。 JavaScript 函数可以工作,但我在处理字符串化对象时遇到问题。 它可以很好地编码,例如在 ht
所以,我的个人网站正在我编写的自定义博客引擎上运行,我对此非常满意。但是,它使用母版页,这意味着 ASP.NET 在所有 id 前面添加(没有充分理由)“ct100”...例如: H
我有一些 HTML 输出位于我想美化/美化的变量中,但努力从我的网络搜索结果中理解。 我发现的大多数选项,例如 PerlTidy(甚至不确定它是否是正确的选项)似乎都假设 HTML 在一个文件中,但在
google-code-prettify通过“美化”转义字符本身而不是转义序列来处理代码块中的 HTML 转义。例如: 原始 HTML ... > ... 被美化成: > 有明显
我有一个 html 文档,我想从中提取表格并美化表格。到目前为止我所拥有的是: with open('html.txt','r') as file1: read_f=file1.read()
我是一名优秀的程序员,十分优秀!