停止 NppExec 捕获控制台输出,直到程序完成

停止 NppExec 捕获控制台输出,直到程序完成

我正在使用 Notepad++ 的 NppExec 插件在 Notepad++ 中执行 Python 脚本。我注意到,print()在整个脚本执行完毕之前,用该语句生成的 Python 控制台输出不会出现在 Notepad++ 控制台上。有没有办法让打印语句实时出现?

我正在使用 Notepad++ v.5.9.8 和 NppExec v0.4.1。

答案1

NppExec 的控制台窗口作为子进程启动,这意味着更新控制台窗口的显示以及运行主程序都是在单线程默认情况下,Python 打印语句的输出会被缓冲,并在与父脚本相同的线程上运行,因此输出必须以无缓冲模式。这是用-u旗帜完成的。

使用python -u script.py而不是传统的python script.py,正如在这个中可以看到的那么问题来了

相关内容