【发布时间】:2020-11-16 13:25:55
【问题描述】:
我想将 dict 转储到没有引号的 yaml 文件中。基本上就像一个映射
import yaml
windows_list = []
server_list = ['abc-def-01', 'pqr-str-02']
site_list = ['dev', 'prod']
server_dict = dict(zip(server_list, site_list))
for k,v in server_dict.items():
a = '{ SERVER: '+k+', SITE: '+v+' }'
windows_list.append(a)
final_dict = {'service':'something','servers': windows_list}
with open('config.yml', 'w') as yaml_file:
yaml.dump(final_dict, yaml_file, default_flow_style=False)
config.yml 的输出如下:
service: some name
servers:
- '{ SERVER: abc-def-01, SITE: dev }'
- '{ SERVER: pqr-str-02, SITE: prod }'
我不想要它周围的引号。我希望它是一个没有引号的映射
期望的输出
service: some name
servers:
- { SERVER: abc-def-01, SITE: dev }
- { SERVER: pqr-str-02, SITE: prod }
我阅读了this post,它说如果您有特殊字符,则无法删除引号,但我想知道是否有某种解决方法来实现我想要的。
【问题讨论】:
标签: python yaml pyyaml ruamel.yaml