Python 中 print 语句的诡异用法 2012 年 01 月 14 日 真是孤陋寡闻了,到了今日看了一篇博客 [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与线程