【发布时间】:2011-07-30 08:18:00
【问题描述】:
我正在尝试从同一个 Python 脚本(很像 this fellow)在两个终端中输出不同的信息。我的研究似乎指向的方式是使用 subprocess.Popen 打开一个新的 xterm 窗口并运行 cat 以在窗口中显示终端的标准输入。然后我会将必要的信息写入子进程的标准输入,如下所示:
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 方法只返回字符串的长度,然后继续。我不确定对子流程和管道的工作方式是否存在误解,但如果有人可以帮助我,将不胜感激。谢谢。
【问题讨论】:
标签: python pipe subprocess