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

Python 将包含错误/警告的打印语句写入Spyder中的文件,python,spyder,Python,Spyder,我有一个大型python脚本,其中多个打印语句和警告(例如,弃用警告)被打印到IPython控制台。出于调试目的,我希望将所有打印语句和警告/错误写入输出文件。在Spyder有没有办法做到这一点 我在控制台中尝试过(但它不会在我的任何目录中创建输出文件): 我知道如何在提示中执行此操作: python "directory\pyfile.py"> output.txt 2>&1 但能在Spyder中做到这一点会更方便。我在这里对Stack Overflow进行了广泛的搜索,

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

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

我知道如何在提示中执行此操作:

python "directory\pyfile.py"> output.txt 2>&1
但能在Spyder中做到这一点会更方便。我在这里对Stack Overflow进行了广泛的搜索,但之前问题的答案都没有给出理想的结果。

(Spyder maintainer在这里)您需要知道Spyder使用IPython控制台来运行您的代码,因此最好搜索您可以在IPython而不是Spyder中执行的操作

在本例中,搜索第一个结果中的为,这是StackOverflow

本质上,您需要使用
%%capture
magic或上下文管理器(如上面的答案所述),并将
runfile
放在其中一个中,以捕获程序中的所有标准输出

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