2010-07-27 48 views

回答

3

可能,但在下级终端中运行自定义进程更容易。例如,从example server in the documentation给出sserv.py命令:

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

会很乐意在端口9999与你聊天。给定一个更复杂的sserv.py它可以做任何你想要的(任何东西都是末日的,就是这样)。

+0

+1:整齐。完成。简单。 – 2010-07-27 02:34:54

2

我认为PExpect可能会为你做到这一点:

Pexpect的基本上是一个模式 匹配系统。它运行程序和手表输出。当输出匹配 给定模式时,如果人类正在键入响应,则Pexpect可以响应为 。 Pexpect可用于自动化测试, 测试和屏幕抓取。 Pexpect的 可用于自动化交互式 控制台应用程序,如SSH,FTP, passwd文件,远程登录等,也可用于通过 lynxw3m,或者一些其他的基于文本的 Web浏览器来控制Web应用程序 。 Pexpect是纯Python的 。不像其他类似 Python的模块Pexpect不需要 要求TCL或期望,也不要求 要求编译C扩展。 它应该可以在任何支持标准Python pty 模块的平台上工作。

+0

您的答案适用于*阅读*,但不适用于*写作*。 – Arafangion 2010-07-27 02:30:07

+1

@Arafangion实际上PExpect _DOES_支持写作,并且做得很好。 它甚至可以写入PAM密码输入,这通常不适用于典型的stdin。 PExpect模仿tty设备IIRC – 2010-07-27 02:47:32

+0

那么在http://pexpect.svn.sourceforge.net/viewvc/pexpect/trunk/pexpect/examples/monitor.py?revision=498&view=markup中的child.sendline()等呢? – 2010-07-27 02:51:31

相关问题