Python 的 expect
是一个用于自动化交互式应用程序的工具,它允许你模拟用户输入以与程序进行交互。expect
的主要优势在于它可以处理各种类型的交互式命令,如登录、命令行程序等。
要在 Python 中使用 expect
,你需要安装一个名为 pexpect
的库。你可以使用 pip
来安装它:
pip install pexpect
接下来,你可以使用以下示例代码来实现一个简单的 expect
脚本:
import pexpect # 创建一个 expect 对象 child = pexpect.spawn("bash") # 等待特定的字符串出现,例如 "$",表示命令提示符 child.expect("$") # 向命令行发送一个命令,例如 "ls" child.sendline("ls") # 等待命令提示符再次出现 child.expect("$") # 获取命令的输出 output = child.before.decode("utf-8") # 打印输出 print(output) # 关闭子进程 child.close()
在这个示例中,我们创建了一个 pexpect.spawn
对象来启动一个 bash
shell。然后,我们使用 expect
方法等待特定的字符串(例如命令提示符)出现。一旦出现,我们使用 sendline
方法向命令行发送一个命令(例如 ls
)。最后,我们等待命令提示符再次出现,然后获取并打印命令的输出。
pexpect
库提供了许多其他功能,如正则表达式匹配、超时处理等。你可以查阅官方文档以了解更多关于 pexpect
的信息:https://pexpect.readthedocs.io/en/stable/