是否有可能让python打开一个terminal并写信给它?

例如,如果我有这个代码:

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

是否有可能有python输出string到刚才打开的特定terminal? 谢谢!

Solutions Collecting From Web of "是否有可能让python打开一个terminal并写信给它?"

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

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

将和你愉快地在9999港口聊天。 给定一个更复杂的sserv.py它可以做任何你想要的(任何东西都是末端的,就是这样)。

我认为PExpect可能会为你做这件事:

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