Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中,Jinja2模板在双引号前面返回一个反斜杠,我需要删除它_Python_Templates_Jinja2_Troposphere - Fatal编程技术网

在python中,Jinja2模板在双引号前面返回一个反斜杠,我需要删除它

在python中,Jinja2模板在双引号前面返回一个反斜杠,我需要删除它,python,templates,jinja2,troposphere,Python,Templates,Jinja2,Troposphere,我的jinja2模板中的一行需要返回 STACKNAME=\"",{"Ref":"AWS::StackName"},"\" 将上述内容放入模板返回 STACKNAME=\\\"\",{\"Ref\":\"AWS::StackName\"},\"\\\" 我试着创建一个变量 DQ = '"' 并将模板设置为 STACKNAME="{{DQ}},{{{DQ}}Ref{{DQ}}:{{DQ}}AWS::StackName{{DQ}}},{{DQ}}" 但是结果仍然在{DQ}变量前

我的jinja2模板中的一行需要返回

   STACKNAME=\"",{"Ref":"AWS::StackName"},"\"
将上述内容放入模板返回

   STACKNAME=\\\"\",{\"Ref\":\"AWS::StackName\"},\"\\\"
我试着创建一个变量

 DQ = '"'
并将模板设置为

STACKNAME="{{DQ}},{{{DQ}}Ref{{DQ}}:{{DQ}}AWS::StackName{{DQ}}},{{DQ}}"
但是结果仍然在{DQ}变量前面加了一个反斜杠

我还尝试输入一个唯一的字符串%%%DQ%%%,然后得到结果,然后进行字符串替换,但它仍然会给我反斜杠

我如何得到我想要的结果

更新: 我道歉。事实证明,返回转义引号的不是jinja2模板。我稍后会在脚本中调用:

lc.UserData=Base64(Join("", [commandList]))
正是对对流层模块Base64和/或Join的调用导致了问题并插入了转义


测试进一步明确表明,是Base64进行了转义。

这感觉像是一次黑客攻击,我希望有人有更好的解决方案,但我通过执行以下操作解决了问题

在模板中,我将线条设置为如下所示:

STACKNAME="QQ,{QQRefQQ:QQAWS::StackNameQQ},QQ"
然后,在我目前拥有的程序的最后一行:

print t.to_json()
我把它改成了

print t.to_json().replace("QQ", '"')
这正是我想要的