首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python:如何从现有的PseudoTerminal (pty/pts)中写入和读取

Python:如何从现有的PseudoTerminal (pty/pts)中写入和读取
EN

Stack Overflow用户
提问于 2017-09-12 16:28:06
回答 1查看 3.4K关注 0票数 2

我试图以编程方式与现有程序进行交互,该程序通过伪终端(/dev/pt/1)提供接口。

我对这件事的工作原理不太了解。目前,我可以与以下内容进行粗略但成功的交互:

echo SomeCommandToSend >> /dev/pts/1

并且可以同样粗略地检索结果:

cat /dev/pts/1

问:我如何干净地和编程地从Python中与这个伪终端交互?

我看过这些医生,但无法在本例中看到如何使用它,因为我不想生成一个新的进程,只需要与现有的进程进行通信。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-12 16:49:24

下面的代码将一次将hello打印到终端(在终端中执行tty以获得/dev/pts/n)并从终端无限读取。

代码语言:javascript
复制
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()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46181452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档