我需要将不同的信息输出到不同的终端实例,而不是在相同的输出流中打印它们,比如std.err或std.out。
例如:我有5种信息说A-E需要在同一桌面的不同终端窗口上显示,看起来是这样的
终端1 <-用于显示信息A
终端2 <-用于显示信息B
终端3 <-用于显示信息C
终端4 <-用于显示信息D
终端5 <-用于显示信息E
我知道我可以把它们输出成不同的文件,然后打开终端在循环中读取文件,但我想要的是python程序可以自己打开终端,并在需要时直接打印到它们。
有可能吗?
谢谢!
KC
对于这种情况,最好的解决方案是使用SOCKET作为IPC,我认为如果资源不是问题,它将具有最好的兼容能力-服务器客户端模式。而管道/子流程也将是在同一平台下的有用解决方案
发布于 2010-05-29 11:09:10
打开一个管道,然后派生一个终端,运行cat从管道的读取端读取,并写入管道的写入端。
发布于 2010-05-29 16:34:51
使用subprocess模块,只需使用subprocess.Popen运行几个您喜欢的终端程序的实例,每个实例都运行"cat“。除了将终端命令传递给Popen之外,还要传递stdin=subprocess.PIPE。然后,您只需写入每个终端的stdin属性。
类似于(未测试!)的内容:
import subprocess
p = subprocess.Popen('xterm -e "cat > /dev/null"', stdin=subprocess.PIPE)
p.stdin.write("Hello World!")https://stackoverflow.com/questions/2933601
复制相似问题