【发布时间】:2020-12-17 00:57:57
【问题描述】:
任务是使用python将c程序渲染成HTML文件
这是我的代码
from jinja2 import Template
html_template = '''
<html>
<body>
<div>
{% for i in code %} {{i}}<br> {% endfor %}
</div>
</body>
</html>'''
# reading c program file
file_content = open("prog.c",'r').readlines()
template = Template(html_template)
html_content = template.render(code = file_content)
with open('outp.html','w') as f:
f.write(html_content)
考虑 prog.c 文件包含
#include <stdio.h>
int main(void) {
printf("Hello World!");
}
HTML 输出应该是
#include但我得到的是
#包括 诠释主要(无效){ printf("Hello World!"); }我这样做有两个问题:
- “printf...”行之前的缩进也应该反映在 HTML 中。
- c代码中的
<stdio.h>在渲染时被视为HTML标签,我需要它作为html中的文本。
注意:约束
- 不应更改 prog.c 文件,因为它始终是动态的。
你可以使用 python 字符串格式或 jinja 模板,这取决于你,我只需要一个解决方案。
你能给我一些建议吗?
【问题讨论】:
-
使用
<pre>标签可能吗?那应该保持缩进。