真是孤陋寡闻了,到了今日看了一篇博客 [1] 才知道 Python 中 print 语句有种类似 C++ 流操作符的诡异用法:
import sys
error_log = open("./error.log", "a")
print >> sys.stderr, "some error message"
print >> error_log, "some error message"
error_log.close()
当然了,只有 2.x 的 Python 才有 print 语句一说,在 Python 3.x 中(以及导入了 from __future__ import print_function 的 Python 2.x 中),print 已经变成一个函数了,故上述做法不可行。但是有更好的替代方案:
#!/usr/bin/env python
import sys
error_log = open("./error.log", "a")
print("some error message", file=sys.stderr)
print("some error message", file=error_log)
error_log.close()
老家天气略冷,敲键盘略艰难……
[1] | SCGI与线程 |