2012-05-15 11 views
10

私はpython3でexpect-likeモジュールを使いたいと思います。私の知る限り、pexpectもファブリックもpython3で動作しません。私が使用できる類似のパッケージはありますか? (そうでない場合は、py3サポートがプロジェクトのロードマップにあるかどうかは誰にも知られていますか?)Python3で動作する 'expect'やexpect likeライブラリの実装はありますか?

完全に重複するフィーチャセットは必要ありません。ここで私のユースケースは必要ではないと思うが、基本的には、いくつかのconfig-suppliedコマンドでtelnetを行うLinuxのexpectスクリプトを再実装しているが、機能を拡張している。

+4

pexpectで2to3を使って試してみましたか?予想フォークhttp://pypi.python.org/pypi/pexpect-u/はそれがそのように機能すると言うので、おそらく期待しているかもしれません。 –

+1

@NiekdeKlein、2to3は非常に基本的なツールであり、さまざまな問題を説明していません。 pexpectの大きさのプロジェクトが単に2to3を実行するだけで "うまくいく"とすれば、私は驚くでしょう。たとえこれが「うまくいく」ように見えても、何か問題が生じた場合、どのようにして作者の支持を得られると思いますか?すべての本質的な目的のために、pexpectはNoahによって放棄されました。彼の最後のsourceforgeコードコミットは2008年でした。 –

+0

@Mike Pennington私はちょうどそれがpexpectのフォークのために働いたと言っていたので、それ自体をpexpectします。テストには最低限の時間がかかります(プログラムを実行して動作するかどうかを確認するだけです)。そうでなければ、害はありません。そうであれば、すべてが良い。 –

答えて

8

Niekが述べたように、私はpexpectを移植し、そしてそれが(UnicodeのU)-Uをpexpect呼ば:

http://pypi.python.org/pypi/pexpect-u/

それは2to3はを使用しますが、私はにいくつかの変更をしなければなりませんでしたそれがうまく動作する前にコードを作成してください。

私はそれを維持することにあまり興味はありませんが、私はpexpectの著者と連絡を取ることができませんでした。そして、それは出版に値する価値があるのに十分役立ったと感じました。あなたがそれに取り組んで興味があるなら、コードはon Bitbucketです。私自身がそれを必要とするのは非常に基本的なものなので、見つけられなかったバグがあるかもしれません。

+0

@belacquaが別の答えで指摘するように、Pexpect-uは現在無効であり、Pexpect自体はPython 3をサポートしています。 –

2

嬉しいことに、pexpectはPython 3をサポートしています(以前はないと2013年現在)。

@ThomasKはpexpect-u Python 3の機能(いくつかのAPIを変更したもの)をメインプロジェクトに戻すことができました。 (ありがとうThomas!)