python输出重定向

由于考虑到将命令行程序转成UI程序,原先在命令行中直接输出的信息必须输出到特定界面中,考虑到应该有重定向的功能,baidu了一下,比较简单,实现代码如下,可以先重定向到某个变量,再将其重定向系统并打印出来。

# !/usr/bin/env python
# coding: utf-8

import sys

#定义标准输出对象
class stdoutToStr:
    def __init__(self):
        self.s = ''
    def write(self, buf):
        self.s += buf

#重定向标准输出
_out = sys.stdout
out = stdoutToStr()

 

sys.stdout = out
print("1111")
print("2222")
print("3333")

sys.stdout = _out
print(out.s)

posted @ 2012-07-25 00:02  绿色的麦田  阅读(2213)  评论(0编辑  收藏  举报