基于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错误:无法解析方法   如何用相同的父标记和子标记在Java中解析XML?   日期使用Java中的时区偏移将本地时间转换为UTC   java如何在多进程、多线程环境中读取文件   WebView中的java弹出式对话框不在当前显示范围内,但在chrome浏览器中运行良好   只有2个参数的java递归二进制搜索方法   无法在java中调用函数   java JavaMail在Tomcat服务器上运行时停止工作   反射通过java程序生成、编译和运行java类   java Android:如何使ListView即使在应用程序关闭后仍保持禁用状态   在JAVA中识别匿名类实例   java渲染一个由三角形组成的立方体,在旋转时会产生奇怪的角度   函数式编程如何基于比较连续的列表元素将Java流减少为布尔值   java如何替换列表中的多个项目?   java Android如何获取随机sqlite数据?   java我已经将useSSL设置为false,但仍然收到警告   java使用动态变量生成jlabel   apachespark:java。lang.NoClassDefFoundError v2TableWithV1回退