python怎么样让输出重定向

 我来答
百度网友29d79c26e1
2014-10-26 · TA获得超过665个赞
知道小有建树答主
回答量:150
采纳率:0%
帮助的人:97.3万
展开全部
f=open('a.txt','w')
import sys
old=sys.stdout #将当前系统输出储存到一个临时变量中
sys.stdout=f  #输出重定向到文件
print 'Hello weird' #测试一个打印输出
sys.stdout=old #还原原系统输出
f.close() 
print open('a.txt','r').read()

以上是重定向到一个文件。

同样可以自行编写一个类,这个类只要有write函数,以模拟file类型就可以将系统输出重定向到其上。

class FakeOut:
    def __init__(self):
        self.str=''
        self.n=0
    def write(self,s):
        self.str+="Out:[%s] %s\n"%(self.n,s)
        self.n+=1
    def show(self): #显示函数,非必须
        print self.str
    def clear(self): #清空函数,非必须
        self.str=''
        self.n=0
f=FakeOut()
import sys
old=sys.stdout
sys.stdout=f
print 'Hello weird.'
print 'Hello weird too.'
sys.stdout=old
f.show()
# 输出:
# Out:[0] Hello weird.
# Out:[1]

# Out:[2] Hello weird too.
# Out:[3]
chenghai2323
2014-10-26 · TA获得超过494个赞
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:95.4万
展开全部
http://blog.csdn.net/lanbing510/article/details/8487997
这里面的内容我试过 是可以重定向到文件的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chaoningwang
2014-10-26 · TA获得超过682个赞
知道小有建树答主
回答量:806
采纳率:83%
帮助的人:892万
展开全部
open().write()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式