2010-07-27 83 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

相關問題