質問

Expectは、子アプリケーションを生成して制御するために使用されるモジュールです。 PythonとRubyに興味があります。

役に立ちましたか?

解決

WExpect for Python があります。

wexpect.py ファイル内のメモ(タイプミスは変更されておらず、強調表示が追加されています)

  

Wexpect は、Windowsへのpexpextの移植版です。 python for Windowsには欠けているため   実行に必要なモジュール(pty、tty、select、termios、fctnl、およびリソース)   期待、機能を実装するバックエンドを作成する必要がありました   これらのモジュールに依存して使用されたもの。 Wtty.py はこのバックエンドです。に   Windowsワールドコンソールは同種ではありません。低レベルまたは高レベルを使用できます   レベルの入出力関数、および両方の場合に正しく対処するために2   子プロセスは、中間子を持つSpawnのインスタンス用に作成されます   コンソールから継続的に読み取り、そのデータをパイプ経由で送信できます   wttyのインスタンスに。 Spawner.py は読み取りとパイピングから責任があります   データ。

     

できるだけ多くのコードをそのまま残し、できるだけ多くのコメントを残そうとしました   (特に変更されていない関数の場合)完全な状態が可能です   特定のOSとの関係において誤解を招くコメント   機能。また、関数sendcontrolおよびsendeofは、   今回は、これらの関数の意味のあるWindowsバージョンが見つかりませんでした。
  さらに、Windowsのコンソールには関連付けられたfild記述子がないため、   グローバル変数child_fdは常にNoneになります。

他のヒント

winpexpect は、Windowsへの pexpect のネイティブポートです。ここにあります:

https://github.com/geertj/winpexpect

Windows CMDプロンプトを使用できます。

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

wexpectの最新バージョンは、 http:// sageにあります。 math.washington.edu/home/goreckc/sage/wexpect/

うまくいけば、すぐにアップストリームにマージされるでしょう。

pexpect https://github.com/pexpect/pexpect

を使用します。

" Pexpectは純粋なPythonです"そのため、Cygwinなしでもどこでも実行できます。

edit:pexpectは現在Linuxでのみ利用可能なptyモジュールに依存しているため、 Nik はpexpectのポートであるwexpectを使用することを提案しました

CygwinでPexpectを使用できました。現在のところ、Windowsでの POSIX の互換性の問題により、他の方法はありません。

別のこと:WExpectはPexpectと同じように機能します。実際にはCygwinが必要です! この時点で、PExpectの方が適しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top