expect est un module utilisé pour engendrer des applications enfants et les contrôler. Je suis intéressé par python/ruby.puis-je utiliser expect sur windows sans installer cygwin?
Répondre
Il y a WExpect for Python.
Notes dans le fichier wexpect.py
(fautes de frappe inchangé et mettant en évidence ajoutée)
Wexpect est un port de pexpext à Windows. Puisque python pour Windows n'a pas les modules requis (pty, tty, select, termios, fctnl, et resource) pour exécuter pexpect, il a fallu créer un back-end implémentant les fonctions utilisées pour ces modules. . Wtty.py est ce back-end. Dans les consoles mondiales Windows ne sont pas homogènes. Ils peuvent utiliser des fonctions d'entrée et de sortie de niveau faible ou élevé, et pour traiter correctement les deux cas, deux processus enfants sont créés pour l'installation de Spawn, avec un enfant intermittent qui peut lire en continu depuis la console et envoyer ces données un tuyau à une instance de wtty. Spawner.py est resposible à partir de la lecture et de la tuyauterie .
J'ai laissé intact code beaucoup plus que je pouvais et essayé aussi de laisser autant de commentaires intact est possible (espicially pour les fonctions qui ne sont pas modifiées) tant des commentaires peuvent induire en erreur dans leur relation à OS spécifique fonctionnalité. En outre, les fonctions sendcontrol et sendeof ne sont pas utilisées à cette fois, car je ne pouvais pas trouver des versions Windows significatives de ces fonctions.
En outre, les consoles n'ont pas de descripteurs de fild associés sous Windows, donc la variable globale child_fd sera toujours None.
Utilisez pexpect https://github.com/pexpect/pexpect
"pexpect est pur Python" donc il fonctionnera partout, sans Cygwin aussi,
edit: pexpect dépend du module pty qui est actuellement disponible que pour Linux, afin Nik suggéré que vous devriez utiliser wexpect qui est un port de pexpect
La dernière version de travail de wexpect vit à http://sage.math.washington.edu/home/goreckc/sage/wexpect/
Espérons qu'il sera bientôt fusionné en amont.
winpexpect
est un port natif de pexpect
vers Windows. Il se trouve ici:
Je sais qu'il est un ancien poste, mais je l'ai utilisé avec succès pexpect sous Cygwin. Pour l'instant il n'y a pas d'autre moyen en raison de problèmes de compatibilité POSIX sous Windows.
Autre chose: WExpect fonctionne comme Pexpect, en fait, il nécessite Cygwin! À ce stade, PExpect est un meilleur choix.
Espérons que cela aidera
Fabio
Vous pouvez utiliser Windows CMD rapide.
Vous devez installer python dans vos fenêtres. Ouvrez l'invite cmd et exécutez la commande ci-dessous.
C:\Users\xxx>pip install pexpect
(si vous avez défini le chemin Python dans la variable système)
ou
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. Compilation avec gcc (cygwin sur windows)
- 2. Installer le service Windows sur Windows Vista
- 3. Comment utiliser Rhino.Mocks.RhinoMocksExtensions.VoidType avec lambda Expect?
- 4. Rails Development et Cygwin sous Windows XP
- 5. Utilisation de Boost avec Cygwin sous Windows
- 6. Installation d'assemblys sur GAC avec Windows Installer
- 7. Installer PHP, Apache 2.2.10 sur Windows Vista
- 8. Natif GTK # sur Windows?
- 9. Comment installer msi sur une machine distante dans msbuild sans utiliser psexec?
- 10. Installer PHP 5 sans libxml2
- 11. Quelqu'un a-t-il des problèmes pour installer OpenSSH via Cygwin sur Vista 64 Bit?
- 12. Comment installer avec distutils sur une installation Python spécifique?
- 13. Compact-Framework: Windows Installer Question
- 14. Comment utiliser SpiderMonkey sur Windows
- 15. Comment installer une application sur iPhone sans iTunes?
- 16. mingw32 Ruby Installer pour Windows
- 17. Comment faire pour installer Satchmo dans Windows?
- 18. Comment puis-je utiliser Cygwin derrière le pare-feu d'entreprise
- 19. installer/désinstaller un service Windows
- 20. Objet Com Windows Installer PowerShell
- 21. Comment installer le thème sur Windows CE 5.0
- 22. Installer EXE en tant que service sur Windows 2008 Server
- 23. Windows équivalent cygwin de Mac OS X commande ouverte
- 24. Intégration de Windows Python dans le programme C++ Cygwin/GCC
- 25. Utiliser une gemme sans l'installer
- 26. Installer Ruby Curb gem dans Windows XP
- 27. Exécuter des scripts PowerShell sans installer PowerShell?
- 28. Accéder aux périphériques Windows Mobile/CE sans utiliser Activeync/WMDC
- 29. Oracle sans installer le fournisseur de données
- 30. Comment puis-je écrire une application Windows sans utiliser WinMain?
@Symmetric: vous avez changé le lien pour pointer vers [ 'winpexpect'] (http: // bitbucket .org/geertj/winpexpect). Mais ['wexpect'] (http://sage.math.washington.edu/home/goreckc/sage/wexpect/) est un module différent. – jfs
@ J.F.Sebastian: bon endroit, ces anciens liens étaient cassés, donc je n'ai pas pu trouver beaucoup de choses sur wexpect. Fixé. – Symmetric