试图在python中打印exec

时间:2014-08-20 16:24:23

标签: python notepad++

在Stack Overflow上搜索后,我发现的所有结果都已过时。 我试图打印出exec命令的结果,如下面的代码所示:

code = """
i = [0,1,2]
for j in i :
print j
""" 
from cStringIO import StringIO
old_stdout = sys.stdout
redirected_output = sys.stdout = StringIO()
exec(code)
sys.stdout = old_stdout

print redirected_output.getvalue()

现在我发现不再支持StringIO。我在NotePad ++上使用Python 2.7.6。我每次尝试导入io时都告诉我该模块不受支持。

编辑:我忘了提到脚本正在加载到IronPython c#中,并且我希望返回exec代码的值,这样我就可以有一个带输出的文本框。

任何帮助将不胜感激,谢谢。

1 个答案:

答案 0 :(得分:1)

您不需要StringIO。此外,您需要缩进print中的code语句。以下内容可以正常使用:

code = """
i = [0,1,2]
for j in i :
    print j
""" 
exec(code)

将输出:

0
1
2