2011-11-28 82 views
6

這是非常simple.I敢肯定,我失去了一些東西愚蠢。蟒蛇如何從string.template對象轉換爲字符串

fp = open(r'D:\UserManagement\invitationTemplate.html', 'rb')   
html = Template(fp.read()) 
fp.close() 
html.safe_substitute(toFirstName='jibin',fromFirstName='Vishnu') 
print html 

當我直接在intepreter中運行此代碼時,我得到正確的輸出。 但是,當我從一個file.I運行它得到<string.Template object at 0x012D33B0>。怎麼我從string.Template對象轉換爲string.I試圖str(html)。通過再見不是print語句應該這樣做(字符串轉換)?

回答

10

safe_substitute返回,作爲字符串,具有取代的模板製造。這樣,您可以重複使用相同的模板進行多次替換。所以,你的代碼必須是

print html.safe_substitute(toFirstName='jibin',fromFirstName='Vishnu') 
1

結果由safe_substitute方法返回:

result = html.safe_substitute(toFirstName='jibin',fromFirstName='Vishnu') 
print result 
2

根據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 
返回值