在函数内部获取“print”语句的输出。
- 论坛
- 在函数内部获取“print”语句的输出。
36 浏览
匿名的
0 Comments
问题:如何在函数内部获取print语句的输出?
当无法修改函数内部代码时,可以通过重定向sys.stdout来实现:
import sys stdout = sys.stdout import StringIO s = StringIO.StringIO() sys.stdout = s print "hello" sys.stdout = stdout s.seek(0) s.read()
如果使用Python3,需要将第三行修改为"from io import StringIO",第四行修改为"s = StringIO()"。
解决方法:通过重定向sys.stdout来将print语句的输出内容保存到一个StringIO对象中,然后可以通过读取该对象来获取输出结果。