2017-02-19 48 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)