python 字符串模板用法string.Template

在很多時候我需要用來字符串模板,類型於django的模板,寫一個html,裏面會包含很多變量,最後展示的時候是用上下文來替換模板中的變量。

現在舉例講講python中字符串模板是怎麼使用的:

我們準備好模板字符串,和上下文字典:

str="我的名子叫$name,我的年齡是$age"

map={name:"xxjin",age:"28"}

然後我們開始使用模板來替換

temp =Template(str)

result=temp.substitute(map)

print result 

最後的結果應該是:我的名子叫xxjin,我的年齡是28


注意,在模板中的變量,默認是以$美元符號的定義的,即上面的$name,$age等。

如果想要修改這個符號,怎麼辦呢?

可以這樣做:

在類Template中變量delimiter定義了這個符號

我們可以自定義類,繼承Template,並重寫delimiter變量。

舉例:

class NewTemplate(Template):
    """docstring for MyTemplate"""
    delimiter = '#'

這時候我們的模板就要寫成“我的名子叫#name,我的年齡是#age”,完整如下:

temp =NewTemplate(str)

result=temp.substitute(map)

print result 
發佈了35 篇原創文章 · 獲贊 13 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章