同时运行两个python脚本

同时运行两个python脚本

我是 python 和 ubuntu 的新手。我试图在终端中同时运行两个 python 脚本,我在终端中的命令是:

python one.py|python three.py

one.py将四个变量的数组打印到终端

three.py从终端读取值并将值存储到另一个数组。

我相信这个过程在 ubuntu 终端中被称为流水线

我现在面临的问题是 Python 脚本three.py等待 Python 脚本one.py完成其执行。我希望它实时发生,每当one.py有输出时,three.py都应该实时读取并存储该值。

one.py 的输出

one.py 的输出截图

代码:three.py

代码:three.py 截图

答案1

您的实现three.py不正确。

通过写作

temp = sys.stdin.readlines()

您告诉 Python 从标准输入读取所有行并将其作为列表存储在您的temp变量中。很明显,此调用会阻塞,直到输入耗尽,这仅在one.py完成并退出并关闭管道时才会发生。只有在那之后您才开始处理输入。

您可以做的是循环逐行读取标准输入,如下所示:

#!/usr/bin/env python3
import sys
for line in sys.stdin:
    print(line)

相关内容