我正在尋找幾天,試圖找出爲什麼我的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 ,然後開始第三行