我已经搜索过,无法找到解决方法。我试图让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
提前感谢您的任何帮助。
答案 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>