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

Python: How to write to and read from an existing PseudoTerminal (pty/pts)

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

我对它的工作原理知之甚少。我目前可以粗略但成功地与以下对象进行交互:
echo SomeCommandToSend >> /dev/pts/1

并且可以同样粗略地检索结果:
cat /dev/pts/1

问题:如何从 Python 以编程方式干净地与此伪终端交互?

我查看了 these docs,但无法了解在这种情况下如何使用它,因为我不想生成新进程,而只是与现有进程通信。

以下代码将一次打印 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()