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/