22.5.2 将首部和尾部写入文件的方法以及默认处理程序
本节比前一节容易得多。我们将编写专门用于将首部和尾部写入文件的方法,而不在事件处理程序中直接调用self.out.write。这样就可通过继承来轻松地重写这些方法。我们让将首部和尾部写入文件的方法尽可能简单。
def writeHeader(self, title):
self.out.write("\n
\n ")self.out.write(title)
self.out.write("
\n \n \n")def writeFooter(self):self.out.write("\n \n\n")
在 初 次 实 现 中 , 处 理 XHTML 内 容 的 代 码 还 与 处 理 程 序 耦 合 得 太 紧 , 现 在 它 们 将 由defaultStart和defaultEnd处理。
def defaultStart(self, name, attrs):
if self.passthrough:
self.out.write("
for key, val in attrs.items():
self.out.write(" {}="{}"".format(key, val))
self.out.write(">")def defaultEnd(self, name):
if self.passthrough:
self.out.write("{}>".format(name))
这些代码与前面相同,只是移到了独立的方法中。(这通常是件好事。)现在就余下最后一块拼图了。
这些代码与前面相同,只是移到了独立的方法中。(这通常是件好事。)现在就余下最后一块拼图了。 这些代码与前面相同,只是移到了独立的方法中。(这通常是件好事。)现在就余下最后一块拼图了。 这些代码与前面相同,只是移到了独立的方法中。(这通常是件好事。)现在就余下最后一块拼图了。