子流程|脚本到脚本的连续输入/输出

时间:2019-04-10 19:15:49

标签: python subprocess

遍及整个互联网,以寻求解决方案。

我的目标:

总共两个脚本。

首先:发送用户输入-并锁定到脚本2打印出的内容。

第二:接收用户输入,将其打印。

示例:

脚本1发送“嗨”

脚本2:打印(“收到用户输入”)

脚本1:捕获脚本2输出(在本例中为“收到用户输入”)

有什么收获?

脚本2是类似于脚本的终端。假设它永远运行,只是等待用户输入(在本例中,等待脚本1进行输入) 弹出,发送,接收和关闭不是我想要的。

因此,基本上脚本2进程始终处于打开状态,而脚本1可能被强制打开,发送,捕获输出并关闭。

最小代码示例:

from subprocess import Popen, PIPE
def runScript(file, fileName):
    proc = Popen([file], stdin=PIPE, stdout=PIPE, shell=False) 
    if fileName == "Script2.py"
        proc.stdin.write("Something")
        proc.stdin.flush()
    proc.stdout.readline()

我遇到的大多数问题是:

  • 处理冻结/挂起。
  • 子进程使脚本2打开可以接收,打印和关闭。

我已经搜索了整个Internet,到目前为止,我一直在使用Subprocess Popen,特定的Stdin和Stdout,并且没有进行通信,因为这使我的整个.Py都死机了。 由于堆栈溢出,有人建议不再支持名为Pexpect的模块。我迷路了。有没有我要搜索的模块,可以通过子流程来完成。

0 个答案:

没有答案
相关问题