首先抱歉我的英语,我是西班牙人; - )
我正在编写并接收一些Python代码的脚本,并捕获该代码将包含的输出和错误;这是我的代码:
import sys
from StringIO import StringIO
buffer_err = StringIO()
buffer_out = StringIO()
sys.stderr = buffer_err
sys.stdout = buffer_out
exec '''SOME PYTHON CODE'''
sys.stderr = sys.__stderr__
sys.stdout = sys.__stdout__
print buffer_err.getvalue()
print buffer_out.getvalue()
此代码可以很好地捕获不包含任何错误的Python代码的输出。
但问题出现的时候,代码包含一个或多个错误,然后我不知道为什么,exec
没有结束,所有代码都从未执行过。
感谢您的关注,欢呼。