#小练习 重定向与sys.stdout对象 分类: python 小练习 2013-11-05 16:10 437人阅读 评论(0) 收藏

import sys

class RedictTarget(object):
    '''这个类用于演示重定向,讲sys.stdout保存至一个变量中,
    然后将sys.stdout指向某个文件对象,输出内容至该文件对象'''

    def __init__(self,filename):
        self.f=open(filename,'w')
        #保存重定向标准输出对象
        old_stdout=sys.stdout
        #输出至文件f
        sys.stdout=self.f

    def writeTofile(self,content):
        self.f.write(content) #输出至文件对象

        print 'should be in file,too\n' #输出至文件对象

        sys.stdout.write("bulid file successfully")#输出至文件对象

        self.f.flush()

        self.f.close()



r=RedictTarget('target.txt')
r.writeTofile('should be in file \n')


版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2013-11-05 16:10  前行者2011  阅读(112)  评论(0编辑  收藏  举报