Python:如何写入和读取现有的伪终端(pty/pts)

Python:如何写入和读取现有的伪终端(pty/pts),python,python-2.7,pty,Python,Python 2.7,Pty,我试图以编程方式与通过伪终端(/dev/pts/1)提供接口的现有程序交互 我不太了解这是怎么回事。我目前可以与: echo SomeCommandToSend>/dev/pts/1 并且可以通过: cat/dev/pts/1 问题:如何从Python中以干净和编程的方式与这个伪终端交互 我已经看过了,但看不到在这种情况下如何使用它,因为我不想产生一个新的进程,只需与现有进程通信。以下代码将向您的终端打印hello(在您的终端中执行tty,以获得/dev/pts/n),并从终端无限读取 impo

我试图以编程方式与通过伪终端(/dev/pts/1)提供接口的现有程序交互

我不太了解这是怎么回事。我目前可以与:
echo SomeCommandToSend>/dev/pts/1

并且可以通过:
cat/dev/pts/1

问题:如何从Python中以干净和编程的方式与这个伪终端交互


我已经看过了,但看不到在这种情况下如何使用它,因为我不想产生一个新的进程,只需与现有进程通信。

以下代码将向您的终端打印
hello
(在您的终端中执行
tty
,以获得
/dev/pts/n
),并从终端无限读取

import sys                                           

with open("/dev/pts/1", "wb+", buffering=0) as term:
    term.write("hello".encode())
    while True:
        print(term.read(1).decode(), end='')
        sys.stdout.flush()

谢谢您有没有建议如何在python 2中复制该打印语法?@MtlDev,是的,将
print
替换为
sys.stdout.write