如何在Python 2.2.1(WebLogic版本)中覆盖打印功能

时间:2016-09-07 13:33:33

标签: python wlst

如何在Python 2.2中覆盖打印功能,以便能够将输出重定向到自定义记录器。

1 个答案:

答案 0 :(得分:1)

我没有2.2的版本来检查(你为什么使用这么旧的版本?),但我怀疑以下内容对所有2.x都有效。

print语句识别以>>开头的第一个参数,以指示要写入的文件。

以下内容完全相同:

print "foo", "bar"
print >>sys.stdout, "foo", "bar"

因此,您可以指定任何file对象作为目标文件。

f = open("log.txt", "w")
print >>f, "foo", "bar"

如果您想重定向每个 print语句(或至少所有不使用特定文件的语句,如上所示),您只需替换{{ 1}}与您想要的文件。

sys.stdout

如果您需要,原始标准输出仍可通过sys.stdout = open("log.txt", "w") print "foo", "bar" # Goes to log.txt 获得。