还正在初学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,但跳出了打印机的框框
我知道哪里搞错了或是没搞明白,但具体该怎么做才好?
谢谢。
不成功应该是由于标准输出流已经被 IDLE 重定向过了。在命令行里直接跑下试试,应该是可以的。