[Python] 用Python写成的分析sqlite并以网页展示结果的小工具 (2)

问题 3&4: 验证数据和生成HTML代码(生成结果网页)

在实际代码中,几个验证的步骤是分布在好几个地方,不是连续的,也许这个设计还不够好,可以继续优化。代码中一般是如下的步骤:

  1. 连接sqlite,执行SQL查询
  2. 得到SQL查询结果
  3. 将查询结果与预先定义的期望结果做比较
  4. True或者False,则生成相应的HTML代码将该部分的结果加到正在加工的HTML网页文件里

在连接sqlite后得到一个cur = con.cursor(),得到一个查询游标,这里我是针对一个sqlite文件就一直使用同一个cur,当该sqlite文件查询完成,或者说查询单个sqlite文件的函数最后结束的时候,用finally语句强制关闭这个连接。

1    finally:
2       if con:
3         con.close()

再说下生成网页的问题,这里我用的PyH这个模块,可以从http://code.google.com/p/pyh/看到使用办法和下载链接。需要补充的是,我准备生成的结果网页,大约是准备设计成由如下2个表格构成

Test Item 1 Pass or False
Test Item 2 Pass or False
Test Item 3 Pass or False
  No. 1 No. 2 No. 3 No. 4
Data Item 1 31.2 32.4 56.1 123.5
Data Item 2 A B B A

PyH中由2个生成表格的方法,其中一种方法适合使用:

 1 from pyh import *
 2 import webbrowser
 3 
 4 page = PyH('My Web Page')
 5 
 6 page << h2('Tabel 1')
 7 mytab = page << table(border = "1")
 8 tr1 = mytab << tr()
 9 tr1 << td('AA')
10 tr1 << td('BB')
11 tr1 << td('CC')
12 tr2 = mytab << tr()
13 tr2 << td('12.3')
14 tr2 << td('43.6')
15 tr2 << td('74.6')
16 page.printOut("a.html")
17 webbrowser.open("a.html")

该代码将生成如下表格(边框实际是有的,没有画出), 第7行code中mytab = page << table(border = "1"), table()里还可以加更多的配置信息,具体从html的教程里找到更多信息。

AA     BB      CC

12.3  43.6    74.6

优点在于可以不用一次构造完整的table,可以根据数据处理进度,一点一点地往该表格里添加新列。

原文地址:https://www.cnblogs.com/summer2012/p/2968810.html