首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中打开不同的linux终端来输出不同的调试信息?

如何在python中打开不同的linux终端来输出不同的调试信息?
EN

Stack Overflow用户
提问于 2010-05-29 11:04:46
回答 2查看 1.3K关注 0票数 3

我需要将不同的信息输出到不同的终端实例,而不是在相同的输出流中打印它们,比如std.err或std.out。

例如:我有5种信息说A-E需要在同一桌面的不同终端窗口上显示,看起来是这样的

终端1 <-用于显示信息A

终端2 <-用于显示信息B

终端3 <-用于显示信息C

终端4 <-用于显示信息D

终端5 <-用于显示信息E

我知道我可以把它们输出成不同的文件,然后打开终端在循环中读取文件,但我想要的是python程序可以自己打开终端,并在需要时直接打印到它们。

有可能吗?

谢谢!

KC

对于这种情况,最好的解决方案是使用SOCKET作为IPC,我认为如果资源不是问题,它将具有最好的兼容能力-服务器客户端模式。而管道/子流程也将是在同一平台下的有用解决方案

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-29 11:09:10

打开一个管道,然后派生一个终端,运行cat从管道的读取端读取,并写入管道的写入端。

票数 3
EN

Stack Overflow用户

发布于 2010-05-29 16:34:51

使用subprocess模块,只需使用subprocess.Popen运行几个您喜欢的终端程序的实例,每个实例都运行"cat“。除了将终端命令传递给Popen之外,还要传递stdin=subprocess.PIPE。然后,您只需写入每个终端的stdin属性。

类似于(未测试!)的内容:

代码语言:javascript
复制
import subprocess
p = subprocess.Popen('xterm -e "cat > /dev/null"', stdin=subprocess.PIPE)
p.stdin.write("Hello World!")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2933601

复制
相关文章

相似问题

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