使web.py中的db.update输出静音

时间:2012-07-22 17:08:21

标签: python database web.py

我正在使用web.py来抽象数据库。我循环遍历一系列网页,以便将相关信息抓取并收集到变量compiled_essay中。然后我更新数据库中的一列来保存论文。

for update_number in range(len(user_list)):    
    db.update('users',where="username = '%(user)s'"%{"user":username},essay_data=compiled_essay) 

问题是这最终在我正在使用的python shell中打印出db命令:

0.0 (update_number): UPDATE users SET essay_data = 'lots_of_text' WHERE username = 'the_user'

我的问题是如何使db.update命令静音,以便每次更新都不会打印大量文本。

4 个答案:

答案 0 :(得分:4)

仅在开发模式下启用打印。

您可以在创建数据库之前添加以下行来显式禁用它。

web.config.debug = False

或通过设置:

db.printing = False

答案 1 :(得分:0)

由于您是在Python shell中执行此操作,因此一种方法是将输出设置为变量:

for update_number in range(len(user_list)):    
    x = db.update('users',where="username = '%(user)s'"%{"user":username},essay_data=compiled_essay) 

答案 2 :(得分:0)

根据评论中的建议,标志_test=True使输出无效。

db.update('users',where="username = '%(user)s'"%{"user":username},essay_data=compiled_essay,_test=True) 

答案 3 :(得分:0)

web.config.debug = False仍然没有帮助。一些结果仍然完成了。

注释掉文件中的行: C:\ Python27 \ LIB \站点包\幅\ httpserver.py

行:

print >> outfile, utils.safestr(msg) ->
#print >> outfile, utils.safestr(msg)