我试图从同一个Python脚本(非常像this fellow)的两个终端输出不同的信息。我的研究似乎指向了一个新的xterm窗口,使用subprocess.Popen和running cat在窗口中显示终端的stdin。然后我将必要的信息写入子进程的stdin,如下所示:
from subprocess import Popen, PIPE
terminal = Popen(['xterm', '-e', 'cat'], stdin=PIPE) #Or cat > /dev/null
terminal.stdin.write("Information".encode())
然后,字符串“Information”将显示在新的xterm中。然而,事实并非如此。xterm不显示任何内容,stdin.write方法只返回字符串的长度,然后继续。我不确定对子流程和管道的工作方式是否存在误解,但如果有人能帮助我,将不胜感激。谢谢。
这不起作用,因为您将内容传递给
xterm
本身,而不是在xterm
内部运行的程序。考虑使用命名管道:相关问题 更多 >
编程相关推荐