對python判斷ip是否可達的實例詳解
更新時間:2019年01月31日 10:37:56 作者:你這只豬兒蟲
今天小編就為大家分享一篇對python判斷ip是否可達的實例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
python中使用subprocess來使用shell
from __future__ import print_function import subprocess import threading def is_reachable(ip): if subprocess.call(["ping", "-c", "2", ip])==0:#只發(fā)送兩個ECHO_REQUEST包 print("{0} is alive.".format(ip)) else: print("{0} is unalive".format(ip)) if __name__ == "__main__": ips = ["www.baidu.com","192.168.0.1"] threads = [] for ip in ips: thr = threading.Thread(target=is_reachable, args=(ip,))#參數(shù)必須為tuple形式 thr.start()#啟動 threads.append(thr) for thr in threads: thr.join()
改良 :使用Queue來優(yōu)化(FIFO)
from __future__ import print_function import subprocess import threading from Queue import Queue from Queue import Empty def call_ping(ip): if subprocess.call(["ping", "-c", "2", ip])==0: print("{0} is reachable".format(ip)) else: print("{0} is unreachable".format(ip)) def is_reachable(q): try: while True: ip = q.get_nowait()#當隊列為空,不等待 call_ping(ip) except Empty: pass def main(): q = Queue() args = ["www.baidu.com", "www.sohu.com", "192.168.0.1"] for arg in args: q.put(arg) threads = [] for i in range(10): thr = threading.Thread(target=is_reachable, args=(q,)) thr.start() threads.append(thr) for thr in threads: thr.join() if __name__ == "__main__": main()
以上這篇對python判斷ip是否可達的實例詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Linux 發(fā)郵件磁盤空間監(jiān)控(python)
這篇文章主要介紹了Linux發(fā)郵件磁盤空間監(jiān)控功能,python實現(xiàn),需要的朋友可以參考下2016-04-04python打包為linux可執(zhí)行文件的詳細圖文教程
這篇文章主要給大家介紹了關(guān)于python打包為linux可執(zhí)行文件的詳細圖文教程,本文介紹的方法可以輕松地將Python代碼變成獨立的可執(zhí)行文件,需要的朋友可以參考下2024-02-02Keras構(gòu)建神經(jīng)網(wǎng)絡(luò)踩坑(解決model.predict預(yù)測值全為0.0的問題)
這篇文章主要介紹了Keras構(gòu)建神經(jīng)網(wǎng)絡(luò)踩坑(解決model.predict預(yù)測值全為0.0的問題),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07詳解在OpenCV中實現(xiàn)的圖像標注技術(shù)
圖像標注在計算機視覺中很重要,計算機視覺是一種技術(shù),它允許計算機從數(shù)字圖像或視頻中獲得高水平的理解力,并以人類的方式觀察和解釋視覺信息,本文將重點討論在OpenCV的幫助下創(chuàng)建這些注釋,感興趣的朋友一起看看吧2022-06-06python實現(xiàn)對excel進行數(shù)據(jù)剔除操作實例
python在數(shù)據(jù)分析這方便的介紹應(yīng)該不用多說了,下面這篇文章主要給大家介紹了關(guān)于利用python實現(xiàn)對excel進行數(shù)據(jù)剔除操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。2017-12-12