您的位置:首页 > 编程语言 > Python开发

python stdout 重定向

2015-11-24 10:30 495 查看
import sys

class Buffer(object):
def __init__(self):
self.buffer = []

def write(self, *args, **kwargs):
self.buffer.append(args)

def test():
stdout = sys.stdout
sys.stdout = open('hello_stdout', 'wb')

print 'test'

sys.stdout.close()
sys.stdout = stdout

stdout = sys.stdout
sys.stdout = Buffer()

print 'buffer1'
print 'buffer2'

buff, sys.stdout = sys.stdout, stdout
print buff.buffer

if __name__ == '__main__':
test()


跟 decorator 用在一起会比较有趣
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: