2
A
回答
4
的小程序,我用的是这样的:
import sys
def error(message):
sys.stderr.write("error: %s\n" % message)
sys.exit(1)
对于更大的工具,我用的是logging
包。
def error(message):
logging.error('error: ', message)
sys.exit(1)
4
在Python 2,例如:
import sys
print>>sys.stderr, "Found", numerrs, "errors in the input."
sys.exit(1)
在Python 3(或2.6或2.7,在您的模块的顶部的from __future__ import print_function
语句),print
变成函数和用于“语法印刷标准错误”现在是
print("Found", numerrs, "errors in the input.", file=sys.stderr)
(一种更加友好的语法比在Python 2 ;-)所需的怪>>
。
print
与(比如说)sys.stderr.write
的(小)优势在于,您可以获得“所有现代便利性”:错误消息的所有部分都会自动转换为字符串,它们使用空格分隔符输出,结束时会输出结果(除非您另有特别要求)。要使用sys.stderr.write
,您需要构建精确的字符串输出,通常使用字符串格式化结构 - 当然,这只是一个小小的方便。
logging
通常是首选,但不是当你特别想要的错误信息去标准错误,并且只标准错误:logging
提供了许多,更多的可能性(发送各种严重的消息,过滤一些,放一些到文件等),但因此它不可避免地更复杂一些。
+0
一个投票来澄清'logging'的用途。 – 2015-06-10 11:16:38
相关问题
- 1. 在DataGridView中向用户显示错误
- 2. 如何在React Native中显示错误?
- 3. 如何在vue devtools中显示错误?
- 4. 如何在Azure中显示Perl错误?
- 5. 如何在用户编辑DataGridView单元格时向用户显示错误?
- 6. 如何尝试在php中显示图像时显示错误?
- 7. i ++在python向我显示错误
- 8. Vim在退出时显示python错误
- 9. 如何在MVC调用Web API中向用户显示错误消息?
- 10. 如何在Android中的AsyncTask中向用户显示错误消息?
- 11. 如何显示错误?
- 12. 如何在python程序中显示用户名
- 13. git推显示错误的用户名
- 14. Django Memcached显示错误登录用户
- 15. 如何在评论中显示用户
- 16. 如何在url中显示用户名
- 17. 如何使用python显示Ajax格式的错误消息django
- 18. python argparse:如何在错误时自动显示帮助?
- 19. 在java中显示错误
- 20. 在PHP中显示错误
- 21. 如何以正确的方式向用户显示错误?
- 22. PhalconPHP - 如何向用户显示500错误
- 23. 反应本机REDX传奇如何向用户显示错误
- 24. 如何显示无效用户输入的错误消息?
- 25. 如何显示在Django错误信息
- 26. 如何显示gridview中的错误行?
- 27. 在Rails 3中,如何在使用验证错误时显示错误的值?
- 28. 在ASP.NET中向用户显示预期的错误
- 29. 用户控件在C#设计器中的显示错误
- 30. 用户在部分视图中登录,显示错误
如何使用日志输出到标准错误(我已经使用它输出到文件)?我怎样才能分开两个流? – yassin 2010-09-11 16:59:09
默认情况下'logging'写入'stderr';如果你想分开流,看看这个:http://docs.python.org/library/logging.html#logging-to-multiple-destinations – leoluk 2010-09-11 17:41:02
如何提高SystemExit而不是'sys.exit',似乎对我来说更加pythonic。 – 2010-09-11 17:42:47