将包含错误/警告的打印语句写入Spyder中

时间:2018-09-18 12:07:43

标签: python spyder

我有一个很大的python脚本,其中多个打印语句和警告(例如,弃用警告)被打印到IPython控制台。为了进行调试,我想将所有打印语句和警告/错误写入输出文件。在Spyder中有没有办法做到这一点?

我已经在控制台中尝试过(但不会在我的任何目录中创建输出文件):

runfile('pyfile.py',wdir='wdir') > output.txt

我知道如何在提示中做到这一点:

python "directory\pyfile.py"> output.txt 2>&1

但是能够在Spyder中执行此操作将更加方便。我在此处对Stack Overflow进行了广泛的搜索,但是先前问题的答案都没有给我想要的结果。

1 个答案:

答案 0 :(得分:4)

(此处为 Spyder维护者),您需要了解Spyder使用 IPython 控制台来运行您的代码,因此最好搜索在其中可以执行的操作IPython,而不是在Spyder中。

在这种情况下,搜索ipython save stdout会在第一个结果中给我right answer,这就是StackOverflow。

从本质上讲,您需要使用%%capture魔术或上下文管理器(如上面答案中提到的那样),并将runfile放在其中一个中,以捕获程序中的所有stdout输出