我创建了一个侦听输入的运行进程:
listen = Popen(["home/user/listen"], stdout=PIPE, stdin=PIPE)
它运行并等待来自STDIN / STDOUT的输入。
不幸的是,似乎我无法执行我发送给流程的任何内容,例如您可以按“Enter”,例如
listen.communicate("Test")
或
listen.stdout("Test")
将字符串写入STDOUT但不执行它,我必须手动按“Enter”。有什么方法可以解决这个问题吗?
答案 0 :(得分:1)
home/user/listen
等待行结束吗?如果是,请在命令末尾添加\n
,例如listen.communicate("Test\n")
。
答案 1 :(得分:1)
我找到了解决方案:
listen.stdin.write("%s" %input)
listen.stdin.write("\n")