#小练习 类与文件对象 分类: python 小练习 2013-11-05 15:39 343人阅读 评论(0) 收藏

import sys,os

class RedictTarget(object):
    '''这个类用于演示重定向,讲sys.stdout保存至一个变量中,
    然后将sys.stdout指向某个文件对象,输出内容至该文件对象'''
    try:
        def __init__(self,filename):
            f=open(filename,'w')
            self.f=f
            #保存重定向标准输出对象
            old_stdout=sys.stdout
            #输出至文件f
            sys.stdout=self.f

        def writeTofile(self,content):
            self.f.write(content)
            sys.stdout.write("AA\n") #输出至文件
            print 'should be in file,too\n'
    except (IOError,e):
        sys.stdout.write(e)
        print e

    else:
        sys.stdout.write("bulid file successfully") #输出至控制台
##        print os.path.abspath(self.f)
    finally:
        def closefile(self):
            self.f.flush()
            self.f.close()




r=RedictTarget('G:\\Target2.txt')
r.writeTofile('should be in file \n')
r.closefile()


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

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