Python:如何写入和读取现有的伪终端(pty/pts)
我试图以编程方式与通过伪终端(/dev/pts/1)提供接口的现有程序交互 我不太了解这是怎么回事。我目前可以与: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
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