python - 其他优于基于 TCL 的 Expect 的解决方案/语言?

标签 python perl awk tcl expect

<分区>

我很惊讶 Expect (TCL) 可以自动完成很多我通常做不到的事情。

我认为我可以通过阅读一本书来更深入地了解 Expect,但在我这样做之前,我想问一下是否有其他解决方案/语言可以完成 Expect 所做的事情?

例如。我读到有人将 Expect 与 Awk 和 Perl 进行比较。

Awk 和 Perl 可以做同样的事情吗?

Python 和 Ruby 等其他语言怎么样?

Expect 是事实上的自动化工具还是有其他更优越的解决方案/语言?

最佳答案

还有更多。

坦率地说,原始的 Expect——Tcl Expect——是最好的。它比它的任何后继者更好地支持“交互”和各种 pty 怪癖。对于它的作用,它没有优势。

然而,与此同时,大多数 Expect 用户只利用了 Expect 功能的一小部分,以至于这种技术优势对他们来说是无关紧要的。在几乎所有情况下,我建议来自 Perl 的人使用 Expect.pm,熟悉 Python 的人依赖 Pexpect,等等。

将 Perl 与“... Awk 和 Perl”进行天真的比较是没有根据的。

总的来说,所有常见的脚本语言——Lua、awk、sh、Tcl、Ruby、Perl、Python……——都差不多。 Expect 稍微但非常有效地在 pty-awareness 的方向上扩展了这个共同的核心(我们暂时可以忽略这个故事的更多内容)。粗略地说,如果您的自动化涉及输入不可见的密码,您需要 Expect。 Awk 和 Perl 不内置此功能。

还有用于其他上下文的其他自动化工具。

关于python - 其他优于基于 TCL 的 Expect 的解决方案/语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3746221/

相关文章:

python - 尝试访问同一网络上的 grpc 服务器时,grpc 客户端 dns 解析失败

python - 扫描阅读框架[3] Python

python - 如何在忽略 NaN 的多个列中查找绝对值最小的值?

perl - 如何有条件地使用 Test::Simple?

regex - 将tomcat访问日志放入SQL Server数据库

bash - 在 MacOS bash 上使 ẞ 小写

json - 使用 sed 或 awk 查找并替换 JSON

python - 如何在 Python 中打印和计算 MongoDB 中 Json 内的值

perl - 是否可以检测当前的 while 循环迭代是否是 perl 中的最后一次?

perl - 我们如何在 Perl 中为 "use"命令使用变量?