有几种方法可以写入stderr:
# Note: this first one does not work in Python 3
print >> sys.stderr, "spam"
sys.stderr.write("spam\n")
os.write(2, b"spam\n")
from __future__ import print_function
print("spam", file=sys.stderr)
这似乎与Python的禅宗格格不入,那么这里的区别是什么,有什么优点或缺点吗?应该用哪种方法?
应该有一种——最好只有一种——显而易见的方法来做到这一点。
是我的选择,只是更可读,说的正是你打算做什么和跨版本移植。
编辑:对我来说,成为“Python”是第三个超越可读性和性能的想法。。。考虑到这两件事,使用python,80%的代码将是pythonic代码。列表理解是一个“重要的东西”,不经常使用(可读性)。
我发现这是唯一一个短的+灵活的+便携的+可读的:
函数
eprint
的使用方法与标准的print
函数相同:print >> sys.stderr
在Python3中消失了。 http://docs.python.org/3.0/whatsnew/3.0.html说:对我们中的许多人来说,把目的地降到命令的末尾有点不自然。另一种选择
看起来更加面向对象,并且优雅地从一般到特定。但是请注意
write
不是print
的1:1替换。相关问题 更多 >
编程相关推荐