expect是一個用於產生子應用程序並對其進行控制的模塊。我對python/ruby感興趣。我可以在沒有安裝cygwin的情況下在Windows上使用期望嗎?
回答
有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永遠是無。
使用Pexpect的https://github.com/pexpect/pexpect
「Pexpect的是純Python」,所以它會在任何地方運行,沒有Cygwin的太多,
編輯:Pexpect的依賴PTY模塊這是目前僅適用於Linux上,從而聶建議您應該使用wexpect這是一個端口的端口
wexpect在http://sage.math.washington.edu/home/goreckc/sage/wexpect/
生活的最新工作版本,希望這將很快被合併上游。
winpexpect
是pexpect
到Windows的本地端口。它可以在這裏找到:
我知道這是舊的文章,但我成功地使用Pexpect的已經在Cygwin下。 現在由於Windows下的POSIX兼容性問題,沒有其他辦法。
另一件事:WExpect就像Pexpect的,事實上它需要Cygwin的! 此時,PExpect是更好的選擇。
希望這將有助於
法比奧
您可以使用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
- 1. 我可以在沒有安裝Cygwin的情況下在Windows上運行Emacs M-x ediff嗎?
- 2. 我可以在沒有pgAdmin4的情況下安裝postgresql嗎?
- 3. 我可以在沒有keystone的情況下安裝swift嗎?
- 4. 我可以在沒有IIS的情況下安裝SharePoint Foundation嗎?
- 5. 我想在沒有安裝pod的情況下使用JSQMessagesViewController!我可以做嗎?
- 6. 我可以在不使用Composer的情況下安裝Laravel嗎?
- 7. 我可以在不安裝的情況下使用git嗎?
- 8. 我可以在沒有CALayers的情況下使用Core Animation嗎?
- 9. 我可以在沒有Node.js的情況下使用Tumblr.js嗎?
- 10. 我可以在沒有Zend_Application的情況下使用zfdebug嗎?
- 11. 我可以在沒有SharePoint的情況下使用K2 Blackpearl嗎?
- 12. 我可以在沒有管理員權限的情況下安裝Visual Studio嗎?
- 13. 我們可以在沒有Visual Studio 2013 Ultimate的情況下安裝codecoverage.exe嗎?
- 14. 是否可以在沒有梨的情況下安裝PHPUnit?
- 15. 我可以在不使用joomla後端的情況下安裝Joomla擴展嗎
- 16. 我可以在不安裝Visual Studio的情況下使用mstest.exe嗎?
- 17. LABEL塊可以在沒有循環的情況下使用嗎?
- 18. PowerMock可以在沒有註釋的情況下使用嗎?
- 19. Vala可以在沒有GObject的情況下使用嗎?
- 20. 可以在沒有列表的情況下使用LOAD TABLE嗎?
- 21. jInterface可以在沒有節點的情況下使用嗎?
- 22. 你可以在沒有Bootstrap的情況下使用Jinja嗎?
- 23. 我可以在沒有Visual Studio的情況下創建ClickOnce嗎?
- 24. 我可以在沒有api_key的情況下訪問Facebook API嗎?
- 25. 我們可以在沒有DataAdapter的情況下填充DataSet嗎?
- 26. 我可以在沒有ADFS的情況下設置SAML IDP嗎?
- 27. 我可以在沒有ID的情況下放入嗎?
- 28. 我可以在沒有黑條的情況下旋轉UIView嗎?
- 29. 我可以在沒有Ruby的情況下生成Rails SECRET_KEY_BASE嗎?
- 30. 我可以在沒有Xcode的情況下在Mac OS X 10.7.4上安裝Valgrind嗎?
@Symmetric:你已經修改了鏈接指向[`winpexpect`(HTTP://到位桶.ORG/geertj/winpexpect)。但[wexpect`](http://sage.math.washington.edu/home/goreckc/sage/wexpect/)是一個不同的模塊。 – jfs 2012-07-24 14:42:36