2017-02-19 49 views
-1

我有這樣的代碼:Python的HTML和應用re.sub

(some code) 
x = read() 

html = ''' 
<html> 
<body> 

<div id="wrap"> 
    <% name %> 
    <p>Time:</p> 
    <table> 
     <% hours %> 
    </table> 
</div> 

</body> 
</html> 
      ''' 
result = re.sub(r'<% hours %>', x, html) 
f = open(name+'.html','w') 
f.write(result) 
f.close() 

現在它正確打印「小時」中的HTML,但我想也設置這個<%名稱%>的一些變量,但是當我添加另一個re.sub它不工作,因爲它應該。

有沒有一種方法可以在上面的代碼中將兩個不同的參數放到html中?

編輯:

我Zroq解決方案的工作,謝謝!

+0

Python字符串格式化似乎是你正在尋找https://pyformat.info/ –

+1

什麼你爲什麼不使用合適的模板庫? Python中有三種是很多的。 –

+0

你有什麼錯誤? – frunkad

回答

0

像這樣的事情?:

html_mapping = {'<% hours %>': 'hour something', 
       '<% name %>': 'name something'} 
result = re.sub(r'<% hours %>|<% name %>', lambda x: html_mapping[x.group()], html)