2009-06-25 48 views

回答

17

WExpect for Python。在wexpect.py文件

筆記(錯別字不變,並強調加)

Wexpect是pexpext到Windows端口。由於Windows的python缺少 必需的模塊(pty,tty,select,termios,fctnl和資源)來運行 pexpect,因此有必要創建一個後端,該後端實現了所有依賴於這些模塊的函數 。 Wtty.py就是這個後端。在 的Windows世界遊戲機不是同質的。他們可以使用低級別或高 級輸入和輸出功能,並能正確處理這兩種情況下,兩個 子進程的菌種instacne創建,與intermidate孩子 可以從控制檯連續讀取,並通過發送數據一個管道 到wtty的一個實例。 Spawner.py可以通過閱讀和管道 數據進行處理。

我留下儘可能多的代碼不變,因爲我可以,也試圖離開儘可能多的評論 完整是可能的(espicially對於尚未被改變的功能),所以許多意見 將在他們之間的關係是誤導操作系統特定的 功能。此外,此次sendcontrol和sendeof函數在 上未實現,因爲我找不到這些函數的有意義的Windows版本。
在Windows另外,控制檯沒有關聯FILD描述符,所以 全局變量child_fd永遠是無。

+0

@Symmetric:你已經修改了鏈接指向[`winpexpect`(HTTP://到位桶.ORG/geertj/winpexpect)。但[wexpect`](http://sage.math.washington.edu/home/goreckc/sage/wexpect/)是一個不同的模塊。 – jfs 2012-07-24 14:42:36

2

使用Pexpect的https://github.com/pexpect/pexpect

「Pexpect的是純Python」,所以它會在任何地方運行,沒有Cygwin的太多,

編輯:Pexpect的依賴PTY模塊這是目前僅適用於Linux上,從而建議您應該使用wexpect這是一個端口的端口

0

我知道這是舊的文章,但我成功地使用Pexpect的已經在Cygwin下。 現在由於Windows下的POSIX兼容性問題,沒有其他辦法。

另一件事:WExpect就像Pexpect的,事實上它需要Cygwin的! 此時,PExpect是更好的選擇。

希望這將有助於

法比奧

5

您可以使用Windows命令提示符。

你需要在你的窗口中安裝python。

打開cmd提示並執行以下命令。

C:\Users\xxx>pip install pexpect(如果設置在系統變量的Python路徑)

C:\Users\xxx>c:\python27\scripts\pip.exe install pexpect 

Collecting pexpect 
    Downloading pexpect-4.0.1.tar.gz (143kB) 
    100% |################################| 147kB 1.2MB/s 
Collecting ptyprocess>=0.5 (from pexpect) 
    Downloading ptyprocess-0.5.1-py2.py3-none-any.whl 
Building wheels for collected packages: pexpect 
    Running setup.py bdist_wheel for pexpect 
    Stored in directory: C:\Users\xxx\AppData\Local\pip\Cache\wheels\f2\65\89\09578bcd0efeabc7e2b0079cd62d3955c1477f2e55aa5031a4 
Successfully built pexpect 
Installing collected packages: ptyprocess, pexpect 
Successfully installed pexpect-4.0.1 ptyprocess-0.5.1 
相關問題