いくつかの文字列を値フィールドとして持つYAMLにPython辞書をダンプしようとしています。私が手YAMLで二重引用符とスペースを使用して値を印刷するにはどうすればよいですか?
import yaml
str1 = "hello"
str2 = "world"
mystr = "\"" + str1 + str(" ") + str2 + "\""
mydict = {"a" : mystr}
f = open("temp.yaml", "w")
yaml.dump(mydict, f, default_flow_style = False, \
explicit_start = "---", explicit_end = "...", encoding = 'UTF-8')
f.close()
YAMLは次のとおりです。
a: '"hello
world"'
通知は、値が "こんにちは世界は" 次の行にこぼれています。 私はpython 3.5を使用しており、YAMLモジュールのバージョンは3.11です。
YAMLの外観を下のようにする方法を教えてもらえますか?
a: "hello world"
1.おそらく、 'mystr'の代わりに' mystr'をダンプしたいと思うでしょう。 2.私はpython 3.5.3とpyyaml 3.12で '{a: '" hello world "'}'を取得しています。使用している実際のコードを表示していますか? – tinita
3.二重引用符で値を出力したい場合は、PyYAMLに通知する必要があります(申し訳ありませんが、現在オプションがあるかどうかはわかりません)。私の出力 '{a: '" hello world "'}' – tinita
@tinitaから見ることができるように、ダンプする前にあなたの文字列に二重引用符を追加すると、望みの効果が得られません:はい私は 'mystr' .edited above ...私は二重引用符の前に一重引用符を見ることができます... – pranav3688