说我有以下HTML脚本:
<head>$name</head>
我有以下shell脚本,它用名称
替换HTML脚本中的变量#/bin/bash
report=$(cat ./a.html)
export name=$(echo aakash)
bash -c "echo \"$report\""
这很有效。
现在我必须在Python中实现shell脚本,以便我能够替换HTML文件中的变量并将替换的内容输出到新文件中。我该怎么做?
一个例子会有所帮助。感谢。
答案 0 :(得分:2)
看起来你正在使用模板引擎,但是如果你想要一个直接的,没有刺激,内置到标准库中,这是一个使用string.Template的例子:
from string import Template
with open('a.html') as fin:
template = Template(fin.read())
print template.substitute(name='Bob')
# <head>Bob</head>
我完全建议您阅读文档,尤其是有关转义标识符名称和使用safe_substitute
等等的文档...
答案 1 :(得分:0)
with open('a.html', 'r') as report:
data = report.read()
data = data.replace('$name', 'aakash')
with open('out.html', 'w') as newf:
newf.write(data)
答案 2 :(得分:0)
首先,您可以保存您的html模板,如:
from string import Template
with open('a.html') as fin:
template = Template(fin.read())
然后,如果要一次替换一个变量,则需要使用safe_substitute并每次将结果转换为模板。即使没有指定键值,这也不会返回键错误。
类似的东西:
new=Template(template.safe_substitute(name="Bob"))
在此之后,新模板是新模板,如果您需要,需要再次修改。