我已經搜索過,但沒有找到太多關于此的資訊。我正在撰寫一個 Python 腳本來獲取字典串列并將其轉儲到 yaml 檔案中。例如,我有如下代碼:
import yaml
dict_1 = {'name' : 'name1',
'value' : 12,
'list' : [1, 2, 3],
'type' : 'doc'
}
dict_2 = {'name' : 'name2',
'value' : 100,
'list' : [1, 2, 3],
'type' : 'cpp'
}
file_info = [dict_1, dict_2]
with open('test_file.yaml', 'w ') as f:
yaml.dump(file_info, f)
我得到的輸出是:
- list:
- 1
- 2
- 3
name: name1
type: doc
value: 12
- list:
- 1
- 2
- 3
name: name2
type: cpp
value: 100
當我真正想要的是這樣的東西時:
- list:
- 1
- 2
- 3
name: name1
type: doc
value: 12
## Notice the line break here
- list:
- 1
- 2
- 3
name: name2
type: cpp
value: 100
我試過放入\n和結束字典,file_info.append('\n')在字典之間使用,None用作字典中的最后一個鍵,但到目前為止沒有任何效果。任何幫助是極大的贊賞!
我將 Pyyaml 5.4.1 與 Python 3.9 一起使用。
uj5u.com熱心網友回復:
您可以一次轉儲每個物件,并在每個物件后面添加一個新行。
with open('test_file.yaml', 'w ') as f:
for yaml_obj in file_info:
f.write(yaml.dump([yaml_obj]))
f.write("\n")
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/312967.html
