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.3k
1 个回答
sin
  • 2.6k
✓ 已被采纳

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏