python运行在cmd中输出卡住

环境:python3.9 运行在windows10
一个脚本文件,一直请求接口,平均每分钟一百多个,然后循环遍历里面的内容分析,然后提取有用的数据进行print
通过Pyinstaller打包为exe,运行在cmd窗口中

运行正常,但是持续运行的时候不定时就卡住没有输出内容,需要点一下cmd窗口然后按下回车,会把卡住的这段时间的数据一次性的打印出来,然后就又正常可用了,这种情况怎么处理
不要gpt的回答

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/1097164
  • 这篇博客你也可以参考下:python用pyinstaller打包好的.exe直接双击可以运行,或者cmd进入.exe所在文件夹用可以用cmd运行,但是直接用cmd运行(不进入.exe所在文件夹)或用其它程序调用,报错
  • 以下回答由chatgpt基于相关博客总结生成:

    根据问题描述,你在Windows10系统中使用Python编写了一个脚本文件,并将其打包为exe文件。在CMD窗口中运行该exe文件时,出现了输出卡住的情况,需要手动点击CMD窗口并按下回车键才能继续输出。

    这个问题可能是由于CMD窗口的快速编辑模式导致的。快速编辑模式下,如果无意间选中了文字,会进入标记模式并暂停程序的运行。需要按下回车键才能继续运行。

    解决这个问题的方法有两种:

    1. 避免使用CMD窗口,直接双击exe文件来执行。

    2. 取消CMD窗口的文本编辑模式。

    针对方法2,以下是具体的解决步骤:

    步骤1: 在CMD窗口中,右击标题栏,选择"属性"。

    步骤2: 在"选项"标签页中,找到"编辑选项",取消选中"快速编辑模式"和"插入模式"。

    步骤3: 点击"确定"保存设置。

    这样,再次运行exe文件时就不会出现输出卡住的情况了。

    希望这个解决方案对你有帮助!如果还有其他问题,请随时提问。

cmd作为命令窗本来就不适用大数量数据打印,要么你直接把数据写入到文件中在文件中查看

在原始脚本文件中加个logging,简单设置下格式,记录日志,保存到日志文件中,配置好轮转,按时间或者文件大小。重新打包后就可以生成日志记录了。至于TK或者QT,都不是很好的方案,原因是和控制台一样,也会刷的很快,并且有缓存行数,如果不设置缓存,一会儿程序就崩溃了,如果设置缓存,想翻看以前的又看不到。
所以,最佳方式是导入日志模块,直接将print的所有记录,logger.info(msg),记录到文件中,不会丢失。还能自己手动备份。