为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Python中打印到stderr?

如何在Python中打印到stderr?

米脂 2019-08-23 14:37:30
如何在Python中打印到stderr?有几种方法可以写入stderr:# Note: this first one does not work in Python 3print >> sys.stderr, "spam"sys.stderr.write("spam\n")os.write(2, b"spam\n")from __future__ import print_functionprint("spam", file=sys.stderr)这似乎与Python#13 †的禅宗相矛盾,那么这里有什么区别,这种方式有哪些优点或缺点?应该使用哪种方式?† 应该有一个 - 最好只有一个 - 显而易见的方法。
查看完整描述

3 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

我发现这是唯一一个短+灵活+便携+可读:


from __future__ import print_function

import sys


def eprint(*args, **kwargs):

    print(*args, file=sys.stderr, **kwargs)

该功能eprint可以与标准print功能相同的方式使用:


>>> print("Test")

Test

>>> eprint("Test")

Test

>>> eprint("foo", "bar", "baz", sep="---")

foo---bar---baz


查看完整回答
反对 回复 2019-08-23
  • 3 回答
  • 0 关注
  • 4918 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信