问题 3&4: 验证数据和生成HTML代码(生成结果网页)
在实际代码中,几个验证的步骤是分布在好几个地方,不是连续的,也许这个设计还不够好,可以继续优化。代码中一般是如下的步骤:
- 连接sqlite,执行SQL查询
- 得到SQL查询结果
- 将查询结果与预先定义的期望结果做比较
- 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,可以根据数据处理进度,一点一点地往该表格里添加新列。