python-3.x - 如何序列化列表中的转义字符串
问题描述
我正在尝试为 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)
解决方案
用于: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="'")
推荐阅读
- python-3.x - 为语料库中的某些文档分配更多权重 - LDA - Gensim
- openrefine - Openrefine - 由第二个或第三个候选人协调
- java - 触摸输入和带有 JavaFX 11 的 OpenJDK 11 的问题
- c# - 我应该使用什么样的数据库来跟踪模型铁路的操作?
- sql - 将 Access SQL 重建为 Oracle SQL 时找不到语法错误 - SQL 命令未正确结束
- javascript - 用户不活动或非常活跃时的 jQuery 事件
- android - 完成所有活动,作为单个实例开始一个新活动
- php - 如何在 PHP 中编写 OOP
- c# - 在编译表达式之前测试空子
- javascript - 使用javascript更改元素ID?