将Python输出存储在字符串中

时间:2016-05-24 20:23:17

标签: python python-3.x eval

我使用eval()我需要打印输出。例如,eval('1+1')将返回2,但eval('print('hello')')将返回None。如何存储Python Shell的输出?

1 个答案:

答案 0 :(得分:0)

如果您确实要将标准输出重定向到变量,请将StringIO用于变量或使用文件

from io import StringIO
# from StringIO import StringIO -- python 2.x
import sys
my_out = StringIO()
sys.stdout = my_out
print("hello") # now stored in my_out

my_file = open('my_file.txt', 'w')
sys.stdout = my_file
print("hello") # now written to my_file.txt