如何序列化列表中的转义字符串

时间:2019-07-09 15:19:10

标签: python-3.x list serialization pyyaml

我正在尝试获取适用于AWS的.yml策略文档。问题是当我自己尝试对其进行转义时,我的字符串列表被双引号“”包围,即
-“'acm:AddTagsToCertificate'”。

当我什么都不做时,它显示为
-acm:AddTagsToCertificate。

问题是我需要.yml中的最终结果看起来像
-'acm:AddTagsToCertificate'

就我自己的故障排除而言,我尝试使用双引号和单引号。我还尝试过对列表进行子类化,以覆盖列表的序列化方式,直到其他SO答案被拒绝为止。

这是显示我问题的简化代码

import yaml;

data = {'apigateway:CreateDeployment': 6}

actions = [];

for key in data:
  key = "\'" + key + "\'"
  print(key)
  actions.append(key);

with open('test.yml', 'w') as output:
  yaml.dump(actions, output, default_flow_style=False)

1 个答案:

答案 0 :(得分:0)

default_style="'"中使用dump

import yaml

data = {'apigateway:CreateDeployment': 6}

actions = list(data.keys())

with open('test.yml', 'w') as output:
  yaml.dump(actions, output, default_flow_style=False, default_style="'")