在Python中将文本输出到多个终端

时间:2014-04-01 20:43:27

标签: python shell terminal

(我正在使用Python和ArchLinux)

我在Python中编写一个简单的AI作为学校项目。因为它是一个学校项目,我想明显地展示它在做什么,我的意图是有一个不同的终端窗口显示每个子进程的打印输出 - 一个终端显示如何解析句子,一个显示pyDatalog正在做什么,一个用于实际的输入 - 输出聊天等,可能在两个监视器上。

据我所知,这并不多,有几种可行的方法可以解决每个子流程并从中找出显示,或者编写/使用允许我制作和配置自己的窗口的库。

那么,我的问题是那些最好的方法,还是有一种简单的方法可以同时输出到多个终端。另外,如果我自己创建窗口(当我说“制作我自己的窗口”时,我很抱歉,如果我的术语出错了,我的意思是用Python构建我自己的输出区域)是最好的选择,我正在寻找我应该使用哪个库。

2 个答案:

答案 0 :(得分:2)

所以你可以用这个方向进入多个方向。您可以创建一个Tkinter(或您选择的GUI库)输出文本框并写入该文本框。此选项可让您最大程度地控制如何显示数据。

另一种选择是通过命名管道访问多个终端。这涉及用管道产生xterm并将输出泵送到屏幕上。请参阅此问题并举例:

Using Python's Subprocess to Display Output in New Xterm Window

答案 1 :(得分:2)

我喜欢@ ebarr的答案,但快速而肮脏的方法是写入多个文件。然后,您可以打开多个终端并拖尾文件。