在Python中将filename变量添加到HTML字符串中

时间:2015-01-22 17:40:29

标签: html string variables iframe python-3.4

我已经搜索过,无法找到解决方法。我试图让python代码循环遍历.mht文件的目录。找到文件后,它会将iframe html代码写入指向.mht的文件。我在定义要编写的iframe代码时遇到问题,并在src中包含了文件名变量。

htmlframe = '''<iframe src="'%s.mht'" class="iframe" scrolling="no" frameborder="0" style="width:100%"></iframe><br>''' % os.path.basename

我得到的错误如下:

Traceback (most recent call last):File "move.py", line 52, in <module>
htmlframe = '''<iframe src="'%s.mht'" class="iframe" scrolling="no"
frameborder="0" style="width:100%"></iframe><br>''' % os.path.basename
TypeError: not enough arguments for format string                                                                                                        

提前感谢您的任何帮助。

1 个答案:

答案 0 :(得分:1)

对于相当复杂的字符串替换操作,您应该查看模板引擎。使用这样的引擎,通常更容易保持概览并在以后进行修改。标准库中内置了一个非常简单的文件:https://docs.python.org/2/library/string.html#template-strings

大部分时间都足够了!

示例:

from string import Template

s = """<iframe src="$filename" class="iframe" scrolling="no"></iframe>"""
t = Template(s)
print t.substitute(filename="foobar.mht")

测试:

python template.py
<iframe src="foobar.mht" class="iframe" scrolling="no"></iframe>