【问题标题】:What can Expect do that Pexpect can not do?什么是 Expect 可以做而 Pexpect 不能做的?
【发布时间】:2010-08-19 12:55:16
【问题描述】:

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

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

A:我爱 它。这很棒。我已经把我保释出来了 一些真正的果酱,但我想要一些东西 这将完成我需要的 90% 预计;为大小的 10%;并允许 我改为用 Python 编写代码 TCL 的。 Pexpect 没有那么大 与预期一样,但 Pexpect 可以做所有事情 我曾经用过Expect。

Pexpect 和 Expect 之间有 10% 的差异。所以我的问题是这 10% 的差异是什么。什么是Expect 可以做而Pexpect 做不到的。

【问题讨论】:

    标签: comparison expect pexpect


    【解决方案1】:

    这个问题(“Expect 不能做什么,Expect 能做什么”)有点误导。并不是Pexpect 做不到Expect 可以做的事情;就是 Expect 有很多额外的支持让这种编程变得更容易。

    例如,以让用户直接与衍生进程交互的交互命令为例。在 Pexpect 中,这就是 interact 所做的一切。 (正如您所说,这可能足以满足您的需求。)相比之下,Expect 的交互支持在交互期间检测模式、将多个衍生进程挂钩在一起等。当然,您可以通过自己编码来完成所有这些。但是你的代码会更长——有时会更长,因为你基本上必须重写你自己的交互,你必须调试它,等等。事实上,你可能已经遇到过这些情况,但没有意识到这有多简单等效的期望代码将是。

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

    【讨论】:

      猜你喜欢
      • 2012-11-17
      • 2013-08-14
      • 2020-07-09
      • 2011-08-23
      • 2018-05-30
      • 2011-08-16
      • 1970-01-01
      • 2013-03-11
      • 1970-01-01
      相关资源
      最近更新 更多