2010-08-19 27 views
2

J'envisage de commencer à utiliser Pexpect. Sur la page d'accueil de Pexpects, je trouve ceci:Que peut-on attendre de ce que Pexpect ne peut pas faire?

Q: Pourquoi ne pas utiliser simplement Expect? A: J'adore . C'est bien. Je me suis libéré de quelques vrais confitures, mais je voulais quelque chose qui ferait 90% de ce dont j'ai besoin de Attendez-vous; être de 10% de la taille; et permet moi d'écrire mon code en Python à la place de TCL. Pexpect n'est pas aussi grand que prévu, mais Pexpect fait tout J'ai déjà utilisé Expect for.

Il existe une différence de 10% entre Pexpect et Expect. Donc, ma question est de savoir quelle est cette différence de 10%. Qu'est-ce que Expect peut faire que Pexpect ne peut pas faire.

Répondre

8

Cette question ("Qu'est-ce que Expect peut faire que Pexpect ne peut pas") est un peu trompeuse. Ce n'est pas que Pexpect ne peut pas faire les choses que l'on peut attendre; c'est que Expect a beaucoup de soutien supplémentaire pour faciliter ce genre de programmation. Par exemple, prenez la commande interactive qui permet à l'utilisateur d'interagir directement avec le processus engendré. Dans Pexpect, c'est tout ce que l'interaction fait. En revanche, l'interaction d'Expect est compatible avec la détection de patterns lors d'une interaction, l'enchaînement de plusieurs processus engendrés, etc. Bien sûr, vous pouvez tout faire en le codant vous-même. Mais votre code sera plus long - parfois beaucoup plus long car vous devrez essentiellement réécrire votre propre interaction, vous devrez le déboguer, etc. En fait, vous avez peut-être déjà rencontré ces situations mais vous n'avez pas réalisé combien le Le code d'attente équivalent serait.

Bien sûr, le support supplémentaire peut être plus que compensé par votre préférence pour Python. :-P

+0

Merci pour votre réponse. – Codeape