这很简单。我相信我错过了一些愚蠢的事情。
fp = open(r'D:\UserManagement\invitationTemplate.html', 'rb')
html = Template(fp.read())
fp.close()
html.safe_substitute(toFirstName='jibin',fromFirstName='Vishnu')
print html
当我直接在intepreter中运行此代码时,我得到了正确的输出。
但是当我从一个文件运行它时。我得到<string.Template object at 0x012D33B0>
。我如何从string.Template对象转换为string.I已经尝试str(html)
。再见不是print语句应该这样做(字符串转换)?
答案 0 :(得分:12)
safe_substitute
以字符串形式返回,其中包含已进行替换的模板。这样,您可以为多个替换重用相同的模板。所以你的代码必须是
print html.safe_substitute(toFirstName='jibin',fromFirstName='Vishnu')
答案 1 :(得分:3)
根据the docs,您应该获取safe_substitute的返回值
fp = open(r'D:\UserManagement\invitationTemplate.html', 'rb')
html = Template(fp.read())
fp.close()
result = html.safe_substitute(toFirstName='jibin',fromFirstName='Vishnu')
print result
答案 2 :(得分:1)
结果由safe_substitute方法返回:
result = html.safe_substitute(toFirstName='jibin',fromFirstName='Vishnu')
print result