python 打印输出能够非常方便的看到程序运行中一些变量结果,当我们想要将这些变量结果保存到一个文件或者一个变量上时,就需要我们把控制台的输出转存到这些对象上。本篇介绍方法来实现它。

把控制台输出到一个文件

1
2
3
4
5
6
7
8
9
import sys


# 把控制台输出写入文件 run.log
sys.stdout = open("./run.log", 'w')

# ...... 这里是程序内容,如很多 print()

sys.stdout.close()

把控制台输出到一个变量

1
2
3
4
5
6
7
8
9
10
11
12
13
import sys
from io import StringIO


old_stdout = sys.stdout
sys.stdout = buffer = StringIO()

# ...... 这里是程序内容,如很多 print()

sys.stdout = old_stdout

# 获取结果到变量 res
res = buffer.getvalue()