当前位置:脚本大全 > > 正文

python一分钟认识条件判断(对python判断ip是否可达的实例详解)

时间:2022-04-01 21:14:33类别:脚本大全

python一分钟认识条件判断

对python判断ip是否可达的实例详解

python中使用subprocess来使用shell

关于threading的用法

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 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)

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 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是否可达的实例详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。

    原文链接:https://blog.csdn.net/csdn2798694115/article/details/79941619

    标签:
    上一篇下一篇

    猜您喜欢

    热门推荐