【发布时间】:2021-08-26 11:48:25
【问题描述】:
我正在为 Pyhton 使用 Spyder,对于某些问题,IPython 控制台中的输出非常大(超过 10000 行),直接在 IPython 控制台中分析输出效率非常低。这就是为什么我想知道是否有一种方法可以将输出打印到 .txt 文件?我尝试了这里的建议How to write console output on text file。所以我在代码的开头使用:
import sys
sys.stdout = open('C:/Users/Python_Code/log.txt', 'w')
最后是sys.stdout.close()。但是,我收到一条错误消息,指出“值错误:对已关闭文件的 I/O 操作”并且未创建 log.txt 文件。如果我在相应的文件夹中手动创建 log.txt 文件,该文件仍然是空的。执行此代码后,不仅文件为空,而且 Spyder 根本没有反应,所以我必须将其关闭并重新启动。
您知道如何将控制台输出重定向到 txt 文件吗?感谢您的每一条评论,并感谢您的帮助。
【问题讨论】:
-
见here
-
python your_script.py > your_file.txt怎么样? -
看看在关闭文件后输入
sys.stdout = sys.__stdout__是否有任何不同。听起来有些东西在您关闭后仍在尝试写入控制台,如果它是非关键的或您无法控制它,则可以将其重定向到普通控制台以避免错误。
标签: python logging console spyder