1

例如,如果我有以下代码:

subprocess.call(['gnome-terminal'])

是否可以将 python 输出字符串发送到刚刚打开的特定终端?谢谢!

4

2 回答 2

3

可能,但在从属终端中运行自定义进程更容易。例如,sserv.py文档中的示例服务器给出命令:

 gnome-terminal -e "python ./sserv.py"

会很高兴和你在 9999 端口聊天。考虑到更复杂的sserv.py情况,它可以做任何你想做的事情(即任何最终的事情)。

于 2010-07-27T02:34:15.473 回答
2

我认为PExpect可能会为您执行此操作:

Pexpect 基本上是一个模式匹配系统。它运行程序并监视输出。当输出与给定模式匹配时,Pexpect 可以像人类正在输入响应一样做出响应。Pexpect 可用于自动化、测试和屏幕抓取。Pexpect 可用于自动化交互式控制台应用程序,例如 ssh、ftp、passwd、telnet 等。它还可用于通过 、 或其他一些基于文本的 Web 浏览器来控制 Web 应用 lynx程序w3m。Pexpect 是纯 Python。与 Python 的其他类似 Expect 的模块不同,Pexpect 不需要 TCL 或 Expect,也不需要编译 C 扩展。它应该可以在任何支持标准 Python pty 模块的平台上运行。

于 2010-07-27T02:24:22.977 回答