【发布时间】:2019-08-12 11:37:35
【问题描述】:
当我使用 Python 渲染我的模板时,我遇到了奇怪的间距问题。
我尝试了ident() 和trim(),但都没有产生所需的输出。
说明:将up接口的数量与F5类中定义的接口相匹配
loader=jinja2.FileSystemLoader(os.getcwd())
jenv=jinja2.Environment(loader=loader, trim_blocks=True,
lstrip_blocks=False)
template=jenv.get_template('health_checks_temp.j2')
print(" +---------------------------------------------------------------------------------+\n | F5 INTERFACE CHECKS |\n +---------------------------------------------------------------------------------+")
hostnames=['SSL222VP002400','ssl224vp222001','ssl224vp002400',] # Removed some of the items
for i in hostnames:
mgmt = ManagementRoot(i, 'USERNAME','PASSWORD')
command='tmsh show net interface all | grep -i up | wc -l'
cmd = "-c \'" + command + "\'"
x = mgmt.tm.util.bash.exec_cmd('run', utilCmdArgs=cmd)
data=(x.commandResult).split()
if data[0] == getattr(F5,str(i)+'_interface'):
print(template.render(dev_name=str(i), result='PASSED'))
else:
print(template.render(dev_name=str(i), result='FAILED'))
模板
{{dev_name}} {{result}}
+---------------------------------------------------------------------------------+
-sh-4.1$
预期
-sh-4.1$ python3.6 SECURITY-HEALTH-REPORT.py
+---------------------------------------------------------------------------------+
| F5 INTERFACE CHECKS |
+---------------------------------------------------------------------------------+
SSL222VP002400 PASSED
+---------------------------------------------------------------------------------+
ssl224vp222001 PASSED
+---------------------------------------------------------------------------------+
ssl224vp002400 PASSED
+---------------------------------------------------------------------------------+
lbseks241 PASSED
+---------------------------------------------------------------------------------+
fwlnnp152 PASSED
+---------------------------------------------------------------------------------+
lbsekp242 PASSED
+---------------------------------------------------------------------------------+
实际
-sh-4.1$ python3.6 SECURITY-HEALTH-REPORT.py
+---------------------------------------------------------------------------------+
| F5 INTERFACE CHECKS |
+---------------------------------------------------------------------------------+
SSL222VP002400 PASSED
+---------------------------------------------------------------------------------+
ssl224vp222001 PASSED
+---------------------------------------------------------------------------------+
ssl224vp002400 PASSED
+---------------------------------------------------------------------------------+
lbseks241 PASSED
+---------------------------------------------------------------------------------+
fwlnnp152 PASSED
+---------------------------------------------------------------------------------+
lbsekp242 PASSED
+---------------------------------------------------------------------------------+
【问题讨论】:
-
你好,Dpac。你能修复代码的缩进吗?
-
对不起,我该怎么做?
-
@DPac 您可以编辑您的帖子,然后在“for”之前和“FAILED”之后放置 3 个反引号。我猜你剪切并粘贴了正确的 python 代码,然后在“for”循环之前添加了空格以使其成为代码的一部分。您可以去掉这些空格并添加反引号。
-
终于完成了 ;)
标签: python-3.x jinja2