Expect ist ein Modul, das dazu dient, untergeordnete Anwendungen zu erzeugen und zu steuern. Ich interessiere mich für Python und Ruby.
Antworten
Zu viele Anzeigen?Es gibt WExpect für Python .
Anmerkungen im wexpect.py
Datei (Tippfehler unverändert und Hervorhebungen hinzugefügt)
Wir erwarten ist eine Portierung von pexpext auf Windows. Da Python für Windows nicht über die erforderlichen Module (pty, tty, select, termios, fctnl und resource) fehlen, um pexpect auszuführen, war es notwendig, ein Back-End zu erstellen, das alle Funktionen implementiert die von diesen Modulen abhängen, implementiert wurden. Wtty.py ist dieses Back-End. Unter der Windows-Welt sind die Konsolen nicht homogen. Sie können Low-Level- oder High-Level Eingabe- und Ausgabefunktionen verwenden, und um beide Fälle korrekt zu behandeln, werden zwei Kindprozesse für Spawn erstellt, mit einem zwischengeschalteten Kindprozess das kontinuierlich von der Konsole lesen kann und diese Daten über eine Pipe an eine Instanz von wtty. Spawner.py ist verantwortlich für das Lesen und Verlegen von Leitungen Daten.
Ich habe so viel Code wie möglich intakt gelassen und auch versucht, so viele Kommentare wie möglich zu hinterlassen intakt zu lassen (vor allem bei Funktionen, die nicht geändert wurden), so dass viele der Kommentare werden in ihrer Beziehung zu os-spezifischen Funktionen irreführend sein. Funktionalität. Auch, die Funktionen sendcontrol und sendeof sind nicht implementiert bei nicht implementiert, da ich keine sinnvollen Windows-Versionen dieser Funktionen finden konnte.
Außerdem haben Konsolen unter Windows keine zugehörigen Bild-Deskriptoren, so dass die globale Variable child_fd immer None sein wird.
Sie können die Windows CMD-Eingabeaufforderung verwenden.
Sie müssen Python in Ihrer Windows-Installation installiert haben.
Öffnen Sie eine cmd-Eingabeaufforderung und führen Sie den folgenden Befehl aus:
C:\Users\xxx>pip install pexpect
(wenn Sie den Python-Pfad in einer Systemvariablen festgelegt haben)
oder
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
Pexpect verwenden https://github.com/pexpect/pexpect
"Pexpect ist reines Python" und läuft daher überall, auch ohne Cygwin,
edit: pexpect hängt vom pty-Modul ab, das zur Zeit nur für Linux verfügbar ist, so dass Nik vorgeschlagen, dass Sie wexpect verwenden sollten, das ein Port von pexpect ist
Die letzte funktionierende Version von wexpect befindet sich unter http://sage.math.washington.edu/home/goreckc/sage/wexpect/
Hoffentlich wird es bald in den Upstream eingebunden.
- See previous answers
- Weitere Antworten anzeigen