在Spyder中将包含错误/警告的打印语句写入文件[重复]

问题描述 投票:5回答:1

这个问题在这里已有答案:

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

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

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

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

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

但是能够在Spyder中做到这一点会更方便。我在Stack Overflow上进行了广泛的搜索,但是之前问题的答案都没有给出我想要的结果。

python spyder
1个回答
4
投票

(Spyder维护者在这里)你需要知道Spyder使用IPython控制台来运行你的代码,所以总是更好地搜索你可以在IPython中而不是在Spyder中做什么。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.