欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

對python判斷ip是否可達的實例詳解

 更新時間:2019年01月31日 10:37:56   作者:你這只豬兒蟲  
今天小編就為大家分享一篇對python判斷ip是否可達的實例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

python中使用subprocess來使用shell

關于threading的用法

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,))#參數必須為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是否可達的實例詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Linux 發(fā)郵件磁盤空間監(jiān)控(python)

    Linux 發(fā)郵件磁盤空間監(jiān)控(python)

    這篇文章主要介紹了Linux發(fā)郵件磁盤空間監(jiān)控功能,python實現,需要的朋友可以參考下
    2016-04-04
  • python打包為linux可執(zhí)行文件的詳細圖文教程

    python打包為linux可執(zhí)行文件的詳細圖文教程

    這篇文章主要給大家介紹了關于python打包為linux可執(zhí)行文件的詳細圖文教程,本文介紹的方法可以輕松地將Python代碼變成獨立的可執(zhí)行文件,需要的朋友可以參考下
    2024-02-02
  • Keras構建神經網絡踩坑(解決model.predict預測值全為0.0的問題)

    Keras構建神經網絡踩坑(解決model.predict預測值全為0.0的問題)

    這篇文章主要介紹了Keras構建神經網絡踩坑(解決model.predict預測值全為0.0的問題),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • 詳解在OpenCV中實現的圖像標注技術

    詳解在OpenCV中實現的圖像標注技術

    圖像標注在計算機視覺中很重要,計算機視覺是一種技術,它允許計算機從數字圖像或視頻中獲得高水平的理解力,并以人類的方式觀察和解釋視覺信息,本文將重點討論在OpenCV的幫助下創(chuàng)建這些注釋,感興趣的朋友一起看看吧
    2022-06-06
  • 深入淺析Python2.x和3.x版本的主要區(qū)別

    深入淺析Python2.x和3.x版本的主要區(qū)別

    這篇文章主要介紹了Python2.x和3.x版本的主要區(qū)別,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11
  • 正確的理解和使用Django信號(Signals)

    正確的理解和使用Django信號(Signals)

    這篇文章主要介紹了如何正確的理解和使用Django信號(Signals),幫助大家更好的理解和學習是Django,感興趣的朋友可以了解下
    2021-04-04
  • pytorch?ssim計算詳細代碼例子

    pytorch?ssim計算詳細代碼例子

    這篇文章主要給大家介紹了關于pytorch?ssim計算的相關資料,結構相似性(SSIM)是一種測量兩幅圖像的相似度的方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • Python生成器(Generator)詳解

    Python生成器(Generator)詳解

    這篇文章主要介紹了Python生成器(Generator)詳解,本文講解了什么是生成器、簡單生成器、帶yield 語句的生成器、加強的生成器等內容,需要的朋友可以參考下
    2015-04-04
  • python實現對excel進行數據剔除操作實例

    python實現對excel進行數據剔除操作實例

    python在數據分析這方便的介紹應該不用多說了,下面這篇文章主要給大家介紹了關于利用python實現對excel進行數據剔除操作的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-12-12
  • 在Python中繪制帶有連接線的雙餅圖(操作代碼)

    在Python中繪制帶有連接線的雙餅圖(操作代碼)

    這篇文章主要介紹了如何在Python中繪制帶有連接線的雙餅圖,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05

最新評論