有几种方法可以写入 stderr:
print >> sys.stderr, "spam" # Python 2 only.
sys.stderr.write("spam\n")
os.write(2, b"spam\n")
from __future__ import print_function
print("spam", file=sys.stderr)
这些方法有什么区别?应该首选哪种方法?
原文由 wim 发布,翻译遵循 CC BY-SA 4.0 许可协议
import sys
sys.stderr.write()
是我的选择,只是更具可读性,并准确说明您打算做什么,并且可以跨版本移植。
编辑:关于可读性和性能,我的第三个想法是“pythonic”……考虑到这两点,使用 python 80% 的代码将是 pythonic。列表理解是不经常使用的“大事”(可读性)。
原文由 Mike Ramirez 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
2 回答834 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
我发现这是唯一一个简短、灵活、可移植和可读的:
可选函数
eprint
节省了一些重复。它可以像标准的一样使用print
函数: