Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.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.exceptions.TemplateSyntaxError:意外字符'\\';_Python_Jinja2 - Fatal编程技术网

Python jinja2.exceptions.TemplateSyntaxError:意外字符'\\';

Python jinja2.exceptions.TemplateSyntaxError:意外字符'\\';,python,jinja2,Python,Jinja2,我正在使用jinja2模板获得jinja2.exceptions.TemplateSyntaxError,其中包含意外字符“\”以及下面的python代码 我发现问题在于在模板中使用== 代码 输出 Traceback (most recent call last): File "/home/rashtrapathy/jj.py", line 15, in <module> template1 = Template(json.dumps(op))

我正在使用jinja2模板获得jinja2.exceptions.TemplateSyntaxError,其中包含意外字符“\”以及下面的python代码

我发现问题在于在模板中使用==

代码

输出

Traceback (most recent call last):
  File "/home/rashtrapathy/jj.py", line 15, in <module>
    template1 = Template(json.dumps(op))
  File "/usr/local/lib/python3.5/dist-packages/jinja2/environment.py", line 1031, in __new__
    return env.from_string(source, template_class=cls)
  File "/usr/local/lib/python3.5/dist-packages/jinja2/environment.py", line 941, in from_string
    return cls.from_code(self, self.compile(source), globals, None)
  File "/usr/local/lib/python3.5/dist-packages/jinja2/environment.py", line 638, in compile
    self.handle_exception(source=source_hint)
  File "/usr/local/lib/python3.5/dist-packages/jinja2/environment.py", line 832, in handle_exception
    reraise(*rewrite_traceback_stack(source=source))
  File "/usr/local/lib/python3.5/dist-packages/jinja2/_compat.py", line 28, in reraise
    raise value.with_traceback(tb)
  File "<unknown>", line 1, in template
jinja2.exceptions.TemplateSyntaxError: unexpected char '\\' at 36
回溯(最近一次呼叫最后一次):
文件“/home/rashtrapathy/jj.py”,第15行,在
template1=模板(json.dumps(op))
文件“/usr/local/lib/python3.5/dist-packages/jinja2/environment.py”,第1031行,新__
从字符串返回环境(源,模板类=cls)
文件“/usr/local/lib/python3.5/dist packages/jinja2/environment.py”,第941行,from_字符串
从_代码返回cls.from(self,self.compile(源代码),globals,None)
文件“/usr/local/lib/python3.5/dist-packages/jinja2/environment.py”,第638行,编译
self.handle\u异常(source=source\u提示)
文件“/usr/local/lib/python3.5/dist-packages/jinja2/environment.py”,第832行,在handle\u异常中
重新释放(*重写\回溯\堆栈(源=源))
文件“/usr/local/lib/python3.5/dist-packages/jinja2/_-compat.py”,第28行,重新登录
通过_回溯(tb)提升值
模板中第1行的文件“”
jinja2.exceptions.TemplateSyntaxError:在36处出现意外字符“\\”

请让我知道在Jinja2模板中使用==有什么问题。

在Jinja中使用==没有什么问题,但我怀疑问题是在使用反斜杠时。 你能改做这个吗

op = "{% if steps[0].elements[1].kind == 'SERVER' or steps[0].elements[1].kind == 'DAEMON' %} SNIP {% endif %}"

与问题无关,但写这篇文章的较短方式是:
op=“{%if步骤[0]。元素[1]。种类输入('SERVER','DAEMON')%}SNIP{%endif%}”
op = "{% if steps[0].elements[1].kind == 'SERVER' or steps[0].elements[1].kind == 'DAEMON' %} SNIP {% endif %}"