Python中Pexpect庫(kù)的使用
我們將通過(guò)示例介紹Python中的Pexpect。
Python 中的 Pexpect
Python 是一種非常流行的語(yǔ)言,用于數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)。 它是一種非常強(qiáng)大的語(yǔ)言,因?yàn)?Python 具有可用于不同目的的內(nèi)置庫(kù)。
在這篇文章中,我們將研究Python中的pexpect。 Pexpect 是一個(gè)功能強(qiáng)大的庫(kù),用于創(chuàng)建子進(jìn)程并自動(dòng)控制它們。
它可以測(cè)試漏洞或執(zhí)行我們能想到的任何任務(wù)。
大多數(shù)情況下,它可用于測(cè)試系統(tǒng)的用例,以檢查系統(tǒng)在某些任務(wù)下的工作情況以及系統(tǒng)在這些任務(wù)下的執(zhí)行情況。 我們還可以用它來(lái)自動(dòng)化日常生活中的一些小任務(wù)。
我們可以使用它來(lái)組織安裝腳本,以便在多個(gè)服務(wù)器上下載軟件包。 Pexpect 是 Expect 系列交互式多線(xiàn)程命令行解釋器的 Python 接口。
Pexpect 是一個(gè)用于通過(guò)網(wǎng)絡(luò)連接在遠(yuǎn)程計(jì)算機(jī)上生成網(wǎng)絡(luò)程序的庫(kù)。
它通常用于編寫(xiě)網(wǎng)絡(luò)服務(wù)腳本,例如 SSH 或 Telnet。 它對(duì)于獨(dú)立的生成程序也很有用。
現(xiàn)在讓我們?cè)谖覀冋陂_(kāi)發(fā)的軟件中安裝 pexpect。 在 Python 中安裝 pexpect 最簡(jiǎn)單的方法是使用 pip 包管理器。
我們可以使用以下命令安裝它。
# python pip install pexpect
如果沒(méi)有安裝pip,可以使用以下命令安裝。
# python pip install python-pip
Python 中 Pexpect 的方法
現(xiàn)在,讓我們討論如何在應(yīng)用程序中使用 pexpect。 我們可以通過(guò)三種不同的方法在我們的應(yīng)用程序中使用 pexpect。
我們將討論的第一個(gè)方法是 run()
方法。
Pexpect 中的 Run() 方法
Run()
是 pexpect 的一個(gè)強(qiáng)大方法,可用于執(zhí)行命令并返回從該命令接收到的結(jié)果。 此方法取代了另一個(gè)強(qiáng)大的庫(kù)方法 os.system。
現(xiàn)在,讓我們使用這個(gè)方法通過(guò) echo 命令打印 Hello World。 首先,我們將導(dǎo)入 pexpect 庫(kù),然后,我們將使用 run()
方法,如下所示。
# python import pexpect print(pexpect.run('echo Hello World'))
輸出:
從上面的示例中可以看出,我們的方法使用 pexpect 的 run()
方法執(zhí)行 Python 文件內(nèi)的命令行代碼。
從上面的示例中需要注意的一件重要事情是,該命令適用于 Linux 系統(tǒng),而不是 Windows。
Pexpect 中的 Spawn() 方法
現(xiàn)在我們將討論 pexpect 的另一種方法,該方法可用于生成子進(jìn)程并控制它們。 由于我們用命令行提示符替換了 run()
方法中的字符串,因此我們可以在 spawn()
中執(zhí)行相同的操作,并使用它來(lái)執(zhí)行 shell 命令并在執(zhí)行后獲取結(jié)果。
現(xiàn)在,讓我們?cè)谑纠惺褂盟?,在該示例中我們將使?nbsp;spawn()
方法啟動(dòng)一個(gè)子進(jìn)程。 我們將使用相同的場(chǎng)景來(lái)使用 spawn 來(lái)回顯字符串。
之后,我們將向 expect()
方法發(fā)送一個(gè)數(shù)組,以從數(shù)組中的字符串匹配上述命令,并返回與我們的命令匹配的元素的位置,如下所示。
# python import pexpect childProcess = pexpect.spawn("echo Hello World") # prints he matched index of string. print(childProcess.expect(["Python", "Hello World", "Child Process"]))
輸出:
從上面的例子可以看出,字符串在數(shù)組中的位置是第二位,而且數(shù)組是從0開(kāi)始的,所以輸出的是正確的位置。
在本文中,我們討論了 pexpect 的三種方法,它們可用于執(zhí)行不同的功能,并且它們可以一起使用以使其成為一個(gè)大函數(shù),如上一個(gè)示例所示。
到此這篇關(guān)于Python中Pexpect庫(kù)的使用的文章就介紹到這了,更多相關(guān)Python Pexpect內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Scrapy框架實(shí)現(xiàn)的登錄網(wǎng)站操作示例
這篇文章主要介紹了Scrapy框架實(shí)現(xiàn)的登錄網(wǎng)站操作,結(jié)合實(shí)例形式分析了Scrapy登錄網(wǎng)站cookies方式、post請(qǐng)求方式登錄網(wǎng)站相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2020-02-02python爬蟲(chóng)增加訪(fǎng)問(wèn)量的方法
這篇文章主要介紹了python爬蟲(chóng)增加訪(fǎng)問(wèn)量的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08Python 代碼在函數(shù)中運(yùn)行得更快的原因解析
我們知道,python 是一種解釋型語(yǔ)言,它會(huì)逐行讀取并執(zhí)行代碼,小伙伴們可能會(huì)有這個(gè)疑問(wèn):為什么在函數(shù)中運(yùn)行的 Python 代碼速度更快,今天這篇文章將會(huì)解答大家心中的疑惑2023-09-09Python pyinstaller庫(kù)的安裝配置教程分享
pyinstaller模塊主要用于python代碼打包成exe程序直接使用,這樣在其它電腦上即使沒(méi)有python環(huán)境也是可以運(yùn)行的。本文就來(lái)和大家分享一下pyinstaller庫(kù)的安裝配置教程,希望對(duì)大家有所幫助2023-04-04Python創(chuàng)建exe運(yùn)行器和截圖工具的示例詳解
本文我們將探討如何使用Python和wxPython創(chuàng)建一個(gè)強(qiáng)大而實(shí)用的桌面應(yīng)用程序,可以遍歷指定文件夾中的所有EXE文件,感興趣的小伙伴可以了解一下2024-10-10解決python中 f.write寫(xiě)入中文出錯(cuò)的問(wèn)題
今天小編就為大家分享一篇解決python中 f.write寫(xiě)入中文出錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10