python2.7.6中sys标准输出流重定向无效

Booker
  • 423

还正在初学python中,在python2.7.6中的IDLE尝试:

import sys
temp = sys.stdout
sys.stdout = open('log.txt', 'a')
print('spam')
print(1, 2, 3)
sys.stdout.close()
sys.stdout = sys.__stdout__
'back here'

无法将输出恢复为屏幕

然后跑到notepad++下尝试:

log = open('budget.txt', 'a')
print >> log, 'back here'
print 'back here'

能正常输出back here,但跳出了打印机的框框

我知道哪里搞错了或是没搞明白,但具体该怎么做才好?
谢谢。

回复
阅读 3.2k
1 个回答
✓ 已被采纳

不成功应该是由于标准输出流已经被 IDLE 重定向过了。在命令行里直接跑下试试,应该是可以的。

宣传栏