如何让Notepad++的nppExec实时输出内容到控制台而非脚本结束后一次性输出?
如何让Notepad++的nppExec实时输出内容到控制台而非脚本结束后一次性输出?
嘿,这个问题我之前踩过坑!nppExec默认会让Python缓冲输出内容,得手动调整才能实现实时输出,给你两个靠谱的解决办法:
修改Python脚本,强制刷新输出
要是你只想针对单个脚本生效,在脚本开头加上这两行代码,就能全局禁用输出缓冲:import sys sys.stdout.flush()或者更灵活一点,每次调用
print的时候直接加flush=True参数,只针对这一次输出实时刷新:print("正在处理...", flush=True)修改nppExec的执行命令,全局禁用缓冲
这个办法更省心,不用改任何脚本,直接在nppExec的命令里加个参数就行。原来你可能用的命令是python "$(FULL_CURRENT_PATH)",改成下面这样:python -u "$(FULL_CURRENT_PATH)"这里的
-u参数是Python的官方参数,作用就是禁用标准输出和标准错误的缓冲,不管你跑哪个脚本,print内容都会实时显示在nppExec的控制台里。
另外提一句,Python 3.3及以上版本的print函数本身就支持flush参数,用起来很方便;而-u参数是跨版本通用的,不管新老Python版本都能生效,看你需求选就行~
备注:内容来源于stack exchange,提问作者no-one
相关产品推荐
相关产品推荐

