当前位置:嗨网首页>书籍在线阅读

08-不要用print()调试

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

11.4.2 不要用print()调试

输入 import logginglogging.basicConfig(level=logging.DEBUG, format='% (asctime)s - %(levelname)s - %(message)s') 有一点不方便。你可能想使用 print() 代替,但不要屈服于这种诱惑。因为在调试完成后,你需要花很多时间从代码中清除每条日志消息的 print() 调用。你甚至可能不小心删除一些 print() 调用,而它们并不是用来产生日志消息的。使用日志消息的好处在于,你可以在程序中想加多少就加多少,稍后只要加入一次 logging.disable (logging. CRITICAL) 调用就可以禁止日志,不像 print() 需逐条清除。 logging 模块使得显示和隐藏日志消息之间的切换变得很容易。

日志消息是给程序员的,不是给用户的。用户不会因为便于调试而想看到字典值的内容。对于用户希望看到的消息,例如“文件未找到”或者“无效的输入,请输入一个数字”,应该使用 print() 调用。我们不希望禁用日志消息之后,让用户看不到有用的信息。