基于ruamel.yaml的固执己见的yaml形成剂

yamlfmt的Python项目详细描述


yamlfmt

一个简单的自定义yaml格式化程序,可以保存您的评论!

yamlfmt只是ruamel.yamlpython库周围的一个cli包装器,它碰巧具有保存注释的独特质量。

使用量

注释: 所用格式如有更改,恕不另行通知。 一旦一个格式似乎坚持v1.0将被标记,格式将不会改变。

❯ yamlfmt -h
usage: yamlfmt [-h][-w][file [file ...]]

positional arguments:
  file         file to parse

optional arguments:
  -h, --help   show this help message and exit
  -w, --write  write formatted outpout to (source) file instead of stdout

示例

让我们看看yamlfmt的实际效果:

ruamel.yaml文档中的简单示例
❯ yamlfmt <<EOF# examplename:  # details  family: Smith   # very common  given: Alice    # one of the siblingsEOF# example
name:
  # details
  family: Smith   # very common
  given: Alice    # one of the siblings

travis ci nodejs示例
❯ yamlfmt <<EOFlanguage: node_js# test on two node.js versions: 0.6 and 0.8node_js:  - 0.6  - 0.8# configure notifications (email, IRC, campfire etc)# please update this section to your needs!notifications:  irc: "irc.freenode.org#travis"EOF
language: node_js

# test on two node.js versions: 0.6 and 0.8
node_js:
- 0.6
- 0.8

# configure notifications (email, IRC, campfire etc)# please update this section to your needs!
notifications:
  irc: irc.freenode.org#travis

ruamel.yaml文档中的复杂示例

❯ yamlfmt <<EOF- &CENTER {x: 1, y: 2}- &LEFT {x: 0, y: 2}- &BIG {r: 10}- &SMALL {r: 1}# All the following maps are equal:# Explicit keys- x: 1  y: 2  r: 10  label: center/big# Merge one map- <<: *CENTER  r: 10  label: center/big# Merge multiple maps- <<: [*CENTER, *BIG]  label: center/big# Override- <<: [*BIG, *LEFT, *SMALL]  x: 1  label: center/bigEOF
- &CENTER {x: 1, y: 2}
- &LEFT {x: 0, y: 2}
- &BIG {r: 10}
- &SMALL {r: 1}# All the following maps are equal:# Explicit keys
- x: 1
  y: 2
  r: 10
  label: center/big
# Merge one map
- <<: *CENTER
  r: 10
  label: center/big
# Merge multiple maps
- <<: [*CENTER, *BIG]
  label: center/big
# Override
- <<: [*BIG, *LEFT, *SMALL]
  x: 1
  label: center/big

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java无法打开ServletContext资源[/WEBINF/mvcdispatcherservlet.xml]   java中的超时方法   java在ext2文件系统的根目录中创建新文件   java Oracle BPM 12c使用人工任务启动器的外部UI发送404弹出窗口   java获取组织。阿帕奇。hadoop。蜂箱ql.exec。矢量。DecimalColumnVector无法强制转换为org。阿帕奇。hadoop。蜂箱ql.exec。矢量。长柱向量   JavaGradle:向JAR文件的类路径添加类   playframework 2.0调用java中的scala操作来编写单元测试用例   循环Java在出现提示时无法收集字符串   需要帮助在Java中将数字转换为word吗   为什么人们忽视了java。类路径和。项目   使用快速搜索框的java动态安卓搜索   java Log4j未正确压缩   图像如何在grails/java中将PNG转换为jpeg   java以前使用过不同的监视器   EclipseLink对实体“setter”方法的java多次调用   javascript动态设置下拉列表的选定默认值   java如何从可扩展列表视图中删除子级   java中的单元测试