python 判斷網(wǎng)絡(luò)連通的實(shí)現(xiàn)方法
開發(fā)中偶爾需要判斷網(wǎng)絡(luò)的連通性,沒有什么方法比 ping 更直接了當(dāng),通常檢查網(wǎng)絡(luò)情況都是運(yùn)行命令ping www.baidu.com ,查看輸出信息即可。
C:\Users>ping www.baidu.com 正在 Ping www.baidu.com [61.135.169.125] 具有 32 字節(jié)的數(shù)據(jù): 來自 61.135.169.125 的回復(fù): 字節(jié)=32 時間=4ms TTL=57 來自 61.135.169.125 的回復(fù): 字節(jié)=32 時間=7ms TTL=57 來自 61.135.169.125 的回復(fù): 字節(jié)=32 時間=9ms TTL=57 來自 61.135.169.125 的回復(fù): 字節(jié)=32 時間=9ms TTL=57 61.135.169.125 的 Ping 統(tǒng)計(jì)信息: 數(shù)據(jù)包: 已發(fā)送 = 4,已接收 = 4,丟失 = 0 (0% 丟失), 往返行程的估計(jì)時間(以毫秒為單位): 最短 = 4ms,最長 = 9ms,平均 = 7ms
簡單方法
python執(zhí)行批處理用多種方法,考慮到我們僅僅用于驗(yàn)證網(wǎng)絡(luò)連通性,只需要最終的結(jié)果,os.system()方法最合適,執(zhí)行cmd命令,并返回進(jìn)程執(zhí)行退出錯誤碼。
import os exit_code = os.system('ping www.baidu.com') if exit_code: raise Exception('connect failed.')
網(wǎng)絡(luò)連通 exit_code == 0,否則返回非0值。
高級方法
獲取訪問域名的IP地址。正則表達(dá)式提取 [61.135.169.125] 數(shù)據(jù)。
獲取網(wǎng)絡(luò)實(shí)際連通的情況。正則表達(dá)式提取 TTL 和 時間 判斷當(dāng)前的網(wǎng)絡(luò)狀況。
使用 subprocess 管道調(diào)用的方式獲取控制臺輸出信息,然后在使用正則表達(dá)式提取關(guān)鍵數(shù)據(jù)。
小結(jié)
相比其他方法判斷網(wǎng)絡(luò)連通性,命令行執(zhí)行 ping 的方案實(shí)現(xiàn)簡單、快捷、有效。
以上這篇python 判斷網(wǎng)絡(luò)連通的實(shí)現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
django inspectdb 操作已有數(shù)據(jù)庫數(shù)據(jù)的使用步驟
這篇文章主要介紹了django inspectdb 操作已有數(shù)據(jù)庫數(shù)據(jù)的使用步驟,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02Python實(shí)現(xiàn)一個轉(zhuǎn)存純真IP數(shù)據(jù)庫的腳本分享
工作中我們常需要使用純真IP數(shù)據(jù)庫內(nèi)的數(shù)據(jù)做分析,下面這篇文章主要給大家介紹了利用Python如何實(shí)現(xiàn)一個轉(zhuǎn)存純真IP數(shù)據(jù)庫的相關(guān)資料,對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-05-05詳解Python如何利用Pandas與NumPy進(jìn)行數(shù)據(jù)清洗
許多數(shù)據(jù)科學(xué)家認(rèn)為獲取和清理數(shù)據(jù)的初始步驟占工作的 80%,花費(fèi)大量時間來清理數(shù)據(jù)集并將它們歸結(jié)為可以使用的形式。本文將利用 Python 的 Pandas和 NumPy 庫來清理數(shù)據(jù),需要的可以參考一下2022-04-04Python實(shí)現(xiàn)的下載8000首兒歌的代碼分享
這篇文章主要介紹了Python實(shí)現(xiàn)的下載8000首兒歌的代碼分享,本文直接給出實(shí)現(xiàn)代碼,下載的是有伴網(wǎng)的資源,需要的朋友可以參考下2014-11-11封裝?Python?時間處理庫創(chuàng)建自己的TimeUtil類示例
這篇文章主要為大家介紹了封裝?Python?時間處理庫創(chuàng)建自己的TimeUtil類示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2023-05-05python內(nèi)置函數(shù)globals()的實(shí)現(xiàn)代碼
本文主要介紹了python內(nèi)置函數(shù)globals()的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09tensorflow模型保存、加載之變量重命名實(shí)例
今天小編就為大家分享一篇tensorflow模型保存、加載之變量重命名實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01如何創(chuàng)建一個Flask項(xiàng)目并進(jìn)行簡單配置
這篇文章主要介紹了如何創(chuàng)建一個Flask項(xiàng)目并進(jìn)行簡單配置,幫助大家更好的理解和學(xué)習(xí)flask框架,感興趣的朋友可以了解下2020-11-11