Pexpect不能做什么可以做到的?

Cod*_*ape 2 comparison expect pexpect

我正在考虑开始使用Pexpect.在Pexpects主页上我发现:

问:为什么不直接使用Expect?

A:我喜欢它.这很棒.我已经把我从一些真正的果酱中拯救出来,但是我想要的东西可以达到我所期望的90%的Expect; 是10%的大小; 并允许我用Python而不是TCL编写我的代码.Pexpect并不像Expect那么大,但是Pexpect做了我曾经用过的所有东西.

Pexpect和Expect之间有10%的差异.所以我的问题是这10%的差异是什么.什么是Expect可以做的,Pexpect不能.

don*_*bes 8

那个问题(" 期待Pexpect不能做到的是什么 ")有点误导.并不是说Pexpect不能做那些Expect可以做的事情; 这是Expect有很多额外的支持,使这种编程更容易.

例如,使用interaction命令,该命令允许用户直接与生成的进程交互.在Pexpect中,所有这些都是互动的.(正如您所说,这可能足以满足您的需求.)相比之下,Expect的交互支持在交互期间检测模式,将多个生成的进程挂钩等等.当然,您可以通过自己编码来完成所有这些操作.但是你的代码会更长 - 有时会长得多,因为你基本上必须重写你自己的交互,你必须调试它,等等.事实上,你可能已经遇到过这些情况,但没有意识到有多简单相当于Expect代码.

当然,额外的支持可能会被您对Python的偏好所抵消.:-P