调用某些第三方程序的时候为了能扑捉其输出信息并调用(并不想开一个子进程)
1 2 3 4 5 6 7 8 9 10 11
| def ob_start(func, input): result = '' oldstdout = sys.stdout sys.stdout = buf = StringIO.StringIO() func(input) sys.stdout = oldstdout result = buf.getvalue() buf.close() del buf return result.strip()
|