我正在使用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命令静音,以便每次更新都不会打印大量文本。
答案 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)