我试图修改通过解析器通过套接字接收的某些数据,然后将结果发送到stdout,同时还无限间隔地循环以发送更多输出。我假设最好的方法是使用线程。当我在终端中测试模块时,所有内容都按照应有的方式打印,但是当使用bash脚本将模块的标准输出通过管道传输到另一个进程时,则不是这样。该模块不会定期更新,也不会在通过解析器发送数据时更新。它偶尔会随机更新,我不确定为什么。
当我使用subprocess.run(['echo', '-e', result])
而不是print
时,所有这些问题都将得到解决,我想知道为什么会这样,以及从Python的单独线程中管道输出到stdout的正确方法。我的操作系统是Debian 10。