亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-09-18 21:15:56 來源:腳本之家 閱讀:254 作者:你這只豬兒蟲 欄目:開發技術

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:#只發送兩個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來優化(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是否可達的實例詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沙湾县| 翁牛特旗| 苗栗市| 环江| 英山县| 盱眙县| 通江县| 沙坪坝区| 阿瓦提县| 通州市| 哈尔滨市| 广丰县| 盐源县| 台中市| 岳普湖县| 当雄县| 苍溪县| 周宁县| 广宗县| 隆安县| 门头沟区| 巫溪县| 泽普县| 钟祥市| 北碚区| 凤庆县| 永宁县| 河北省| 长治县| 亳州市| 闽侯县| 鸡西市| 涟水县| 兴隆县| 宜昌市| 安乡县| 文昌市| 八宿县| 隆子县| 炎陵县| 双牌县|