2

Pexpect の使用を開始することを検討しています。Pexpects のホームページで私はこれを見つけます:

Q: なぜExpectを使わないのですか?

A: 大好きです。それは素晴らしい。私はいくつかの本当のジャムから抜け出しましたが、Expect に必要なことの 90% を実行できる何かが欲しかったのです。サイズの 10% であること。TCL の代わりに Python でコードを記述できるようにします。Pexpect は Expect ほど大きくはありませんが、Pexpect は私が今まで Expect を使ってきたすべてのことを実行します。

Pexpect と Expect の間には 10% の違いがあります。だから私の質問は、この10%の違いは何ですか. Expect ができて Pexpect ができないことは何ですか。

4

1 に答える 1

9

その質問 (「Expect ができて Pexpect ができないことは何ですか」) は少し誤解を招きます。Expect ができることを Pexpect ができないというわけではありません。この種のプログラミングをより簡単にするために、Expect には多くの特別なサポートがあるということです。

例として、生成されたプロセスとユーザーが直接やり取りできるようにする interact コマンドを取り上げます。Pexpect では、interact が行うことはこれだけです。(そして、あなたが言うように、それで十分かもしれません。) 対照的に、Expect の対話は、対話中のパターンの検出、生成された複数のプロセスの結合などをサポートしています。もちろん、これはすべて自分でコーディングすることで実行できます。しかし、コードは長くなります - 基本的に独自の対話を書き直したり、デバッグする必要があるため、もっと長くなることがあります。実際、これらの状況にすでに遭遇したことがあるかもしれませんが、同等の期待コードは次のようになります。

もちろん、追加のサポートは、Python の好みによって相殺される以上のものになる場合があります。:-P

于 2010-08-27T20:26:46.353 に答える