我正在寻找几天,试图找出为什么我的yaml解析器(使用PyYaml)不保存YAML,因为它处于原始状态。python yaml包解析不需要的新行
在YAML原线路:
healthcheck:
test: ["CMD-SHELL", "[ x\"`curl -k --silent -w '%{http_code}' https://localhost:4433 | grep 401`\" = x\"\" ] && exit 1 || exit 0"]
interval: 30s
但新线(只需加载该文件,并再次将其保存回):
healthcheck:
interval: 30s
test:
- CMD-SHELL
- '[ x"`curl -k --silent -w ''%{http_code}'' https://localhost:4433 | grep 401`"
= x"" ] && exit 1 || exit 0'
有这里有两个问题: 1) “测试”值成为列表而不是1行键值对。 2)其实有3 新线这里,
a) -CMD-SHELL
b)- '[ x"`curl -k --silent -w ''%{http_code}'' https://localhost:4433 | grep 401`"
c)= x"" ] && exit 1 || exit 0'
所以另一个问题是,为什么第三行是从第二线坏了吗? (如果我显示空格,你会看到在第二行的末尾有LF ,然后开始第三行