为什么我用python调用了process运行后程序没报错但


出现问题的进程日志如下:

可以看到正常和异常的日志主进程中都打印除了子进程的pid但是异常继承子进程run行数的第一行没有执行。






}

某项目中使用python脚本方式将日志文件中的数据持续的转换格式输出到另一文件中以供其他日志分析应用使用但是当后台运行采取重定向方式输出到某一文件时,发现并没囿内容输出命令如下:

测试发现,当前台直接输出到终端时正常使用后台运行重定向的方式输出到文件中时无法输出。

发现是在程序運行时输出有缓存,只有当程序运行结束或者缓冲区满后才会输出因为程序是一致在运行的所以不可能等待程序结束在输出。并且要求是有实时性的所以等缓冲区满输出的方式也不可取

所以采用在python运行时加上-u参数,如:

-u参数的意义是不使用缓冲的方式输入输出

补充知識:python中运行代码时没有报错但是也没有输出而且还有exit code 0的结束标志

 
 

后来排查发现原来是解释器的问题

我之前使用的解释器是pycharm提供的虚拟解释器

#####如何查看解释器

}

尝试使用QProcess运行python控制台时无法获取輸出


但是我没有得到任何输出我在哪里弄错了,还是有更好的方法呢



我写了一个非常简约的程序,可以满足您的期望下面是代码:

  • 峩添加了一些调试输出,尤其是的错误代码QProcess很有帮助

hello!当按下按钮时,这些东西一起显示出激励

站长简介:前每日优鲜python全栈开发工程师,自媒体达人,逗比程序猿,钱少话少特宅关注我,做朋友, 我们一起谈人生和理想吧!我的公众号:想吃麻辣香锅

关注公众号回复python,免费领取

关注公众号回复充值+你的账号,免费为您充值1000积分

所属网站分类: 技术文章 >


}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信