python - 将包含错误/警告的打印语句写入 Spyder 中的文件
问题描述
我有一个大的python 脚本,其中多个打印语句和警告(例如弃用警告)被打印到IPython 控制台。出于调试目的,我想将所有打印语句和警告/错误写入输出文件。有没有办法在 Spyder 中做到这一点?
我在控制台中尝试过(但它不会在我的任何目录中创建输出文件):
runfile('pyfile.py',wdir='wdir') > output.txt
我知道如何在提示中执行此操作:
python "directory\pyfile.py"> output.txt 2>&1
但是能够在 Spyder 中做到这一点会更方便。我在 Stack Overflow 上进行了广泛的搜索,但之前问题的答案都没有给我想要的结果。
解决方案
(这里是 Spyder 维护者)您需要知道 Spyder 使用IPython控制台来运行您的代码,因此最好搜索您可以在 IPython 中而不是在 Spyder 中执行的操作。
在这种情况下,搜索在第一个结果中ipython save stdout
给了我正确的答案,那就是 StackOverflow。
本质上,您需要使用%%capture
魔法或上下文管理器(如上面答案中提到的那样)并将其中一个放入runfile
其中以捕获程序中的所有标准输出输出。
推荐阅读
- python - 在 Colab 环境中使用 xxd 时,它在 bash 中执行
- java - cvc-complex-type.2.4.c:匹配通配符是严格的,但找不到元素“jaxrs:server”的声明
- javascript - 打鼹鼠游戏麻烦
- php - Laravel 如何在分类帖子上添加 orderBy
- scala - Gatling.bat 命令行选项,它们是如何工作的?
- sql-server - 如何使用经典 ASP 更新 SQL 中的多条记录
- oracle - pl sql插入到过程和动态变量中
- python - 如何仅提取每个 tr 中的第一个 td[0]
- python - 目标检测模型的性能上下跳跃
- typescript - “此类型上不应存在成员”的 TypeScript 类型声明?