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 時(shí)間=4ms TTL=57 來自 61.135.169.125 的回復(fù): 字節(jié)=32 時(shí)間=7ms TTL=57 來自 61.135.169.125 的回復(fù): 字節(jié)=32 時(shí)間=9ms TTL=57 來自 61.135.169.125 的回復(fù): 字節(jié)=32 時(shí)間=9ms TTL=57 61.135.169.125 的 Ping 統(tǒng)計(jì)信息: 數(shù)據(jù)包: 已發(fā)送 = 4,已接收 = 4,丟失 = 0 (0% 丟失), 往返行程的估計(jì)時(shí)間(以毫秒為單位): 最短 = 4ms,最長(zhǎng) = 9ms,平均 = 7ms
簡(jiǎn)單方法
python執(zhí)行批處理用多種方法,考慮到我們僅僅用于驗(yàn)證網(wǎng)絡(luò)連通性,只需要最終的結(jié)果,os.system()方法最合適,執(zhí)行cmd命令,并返回進(jìn)程執(zhí)行退出錯(cuò)誤碼。
import os
exit_code = os.system('ping www.baidu.com')
if exit_code:
raise Exception('connect failed.')
網(wǎng)絡(luò)連通 exit_code == 0,否則返回非0值。
高級(jí)方法
獲取訪問域名的IP地址。正則表達(dá)式提取 [61.135.169.125] 數(shù)據(jù)。
獲取網(wǎng)絡(luò)實(shí)際連通的情況。正則表達(dá)式提取 TTL 和 時(shí)間 判斷當(dāng)前的網(wǎng)絡(luò)狀況。
使用 subprocess 管道調(diào)用的方式獲取控制臺(tái)輸出信息,然后在使用正則表達(dá)式提取關(guān)鍵數(shù)據(jù)。
小結(jié)
相比其他方法判斷網(wǎng)絡(luò)連通性,命令行執(zhí)行 ping 的方案實(shí)現(xiàn)簡(jiǎn)單、快捷、有效。
以上這篇python 判斷網(wǎng)絡(luò)連通的實(shí)現(xiàn)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python+Selenium實(shí)現(xiàn)短視頻熱點(diǎn)爬取
隨著短視頻的大火,不僅可以給人們帶來娛樂,還有熱點(diǎn)新聞時(shí)事以及各種知識(shí),刷短視頻也逐漸成為了日常生活的一部分。本文將通過Pyhton依托Selenium來爬取短視頻熱點(diǎn),需要的可以參考一下2022-04-04
LyScript實(shí)現(xiàn)Hook隱藏調(diào)試器的方法詳解
LyScript?插件集成的內(nèi)置API函數(shù)可靈活的實(shí)現(xiàn)繞過各類反調(diào)試保護(hù)機(jī)制。本文將運(yùn)用LyScript實(shí)現(xiàn)繞過大多數(shù)通用調(diào)試機(jī)制,實(shí)現(xiàn)隱藏調(diào)試器的目的,需要的可以參考一下2022-09-09
python中的queue隊(duì)列類型及函數(shù)用法
這篇文章主要介紹了python中的queue隊(duì)列類型及函數(shù)用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09
python 環(huán)境搭建 及python-3.4.4的下載和安裝過程
這篇文章主要介紹了python 環(huán)境搭建 python-3.4.4的下載和安裝過程,文中給大家補(bǔ)充介紹了pycharm的基本用法,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-07-07
LyScript實(shí)現(xiàn)Hook改寫MessageBox的方法詳解
LyScript可實(shí)現(xiàn)自定義匯編指令的替換功能。用戶可自行編寫匯編指令,將程序中特定的通用函數(shù)進(jìn)行功能改寫與轉(zhuǎn)向操作,此功能原理是簡(jiǎn)單的Hook操作。本文將詳細(xì)介紹Hook改寫MessageBox的方法,感興趣的可以了解一下2022-09-09
Django csrf校驗(yàn)的實(shí)現(xiàn)
這篇文章主要介紹了Django csrf校驗(yàn)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
Python3多進(jìn)程 multiprocessing 模塊實(shí)例詳解
這篇文章主要介紹了Python3多進(jìn)程 multiprocessing 模塊,結(jié)合實(shí)例形式詳細(xì)分析了Python3多進(jìn)程 multiprocessing 模塊的概念、原理、相關(guān)方法使用技巧與注意事項(xiàng),需要的朋友可以參考下2018-06-06
Python K-means實(shí)現(xiàn)簡(jiǎn)單圖像聚類的示例代碼
本文主要介紹了Python K-means實(shí)現(xiàn)簡(jiǎn)單圖像聚類的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10
用實(shí)例解釋Python中的繼承和多態(tài)的概念
這篇文章主要介紹了用實(shí)例解釋Python中的繼承和多態(tài)的概念,繼承和多臺(tái)是學(xué)習(xí)每一門面對(duì)對(duì)象的編程語言時(shí)都必須掌握的重要知識(shí),需要的朋友可以參考下2015-04-04
Python?+?Tkinter連接本地MySQL數(shù)據(jù)庫簡(jiǎn)單實(shí)現(xiàn)注冊(cè)登錄
這篇文章主要介紹了Python?+?Tkinter連接本地MySQL數(shù)據(jù)庫簡(jiǎn)單實(shí)現(xiàn)注冊(cè)登錄。下面文章著情介紹,需要的小伙伴可以參考一下2022-01-01

