91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

對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

马山县| 浏阳市| 九龙城区| 木兰县| 陵川县| 开封县| 绥滨县| 丰原市| 庆阳市| 来安县| 稷山县| 会理县| 中阳县| 台江县| 云和县| 京山县| 称多县| 牡丹江市| 黎平县| 柏乡县| 秀山| 南丰县| 东明县| 习水县| 安多县| 阿图什市| 彩票| 台安县| 耿马| 石河子市| 米林县| 嘉定区| 容城县| 沙坪坝区| 南城县| 阿巴嘎旗| 安平县| 海南省| 象山县| 平罗县| 合肥市|