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)