簡體   English   中英

如何避免 ruamel.yaml.round_trip_dump() 在 yaml 鍵值之間打印 //

[英]How to avoid ruamel.yaml.round_trip_dump() from printing / / in between yaml key value

- name: Java_opts
  value: " -blablabla -blablabla -blablabla -blablabla -blablabla"

我在 yaml 文件中有一個類似於上面的鍵值。 當我使用 ruamel.yaml.round_trip_dump() 和 preserve_quotes 進行轉儲時,它會在字符串之間添加 //。 如下所示

- name: Java_opts  
  value:" -blablabla -blablabla // - blablabla -blablabla // -blablabla"

如何避免打印 ----> //

首先,您不應該使用ruamel.yaml.round_trip()它已被棄用。 改為在 YAML 的實例上使用 .load .load()

您要做的另一件事是提供有效的 YAML 和完整的最小工作程序。 因為您的示例不是 YAML。這是因為根級序列的第一個元素是字典(鍵為“名稱”),第二個元素是標量,因為第一個冒號后沒有空格。

如果你在 after value:之后插入一個空格,那么一切都應該正常工作::w

import sys
import ruamel.yaml

yaml_str = """\
- name: Java_opts
  value: " -blablabla -blablabla - blablabla -blablabla -blablabla"
"""
    
yaml = ruamel.yaml.YAML()
data = yaml.load(yaml_str)
yaml.dump(data, sys.stdout)

這使:

- name: Java_opts
  value: ' -blablabla -blablabla - blablabla -blablabla -blablabla'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM