python一分钟认识条件判断(对python判断ip是否可达的实例详解)
类别:脚本大全 浏览量:1643
时间:2022-04-01 21:14:33 python一分钟认识条件判断
对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 : #只发送两个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是否可达的实例详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。
原文链接:https://blog.csdn.net/csdn2798694115/article/details/79941619
您可能感兴趣
- dedecms设置二级域名(织梦DEDECMS中要删除指定IP的评论的方法)
- javascript函数工具有哪些(如何让你的JavaScript函数更加优雅详解)
- js中事件的三个阶段(JavaScript中事件冒泡机制示例详析)
- javascript执行类的所有方法(Javascript中异步等待的深入理解)
- JavaScript生成GUID的方法
- myeclipse连接mysql数据库的方法(教你用eclipse连接mysql数据库)
- javascript中求二维数组最小值(javascript实现数组最大值和最小值的6种方法)
- centos7上安装python(centos6.5安装python3.7.1之后无法使用pip的解决方案)
- js的模块模式设计(如何理解JavaScript模块化)
- 用javascript设计五子棋(JavaScript实现网页版五子棋游戏)
- javascript 数据分析(利用JavaScript差集实现一个对比小工具)
- javascript中error错误类型
- python 获取ip mac 地址(Python3获取电脑IP、主机名、Mac地址的方法示例)
- canvas俄罗斯方块(JavaScript canvas实现俄罗斯方块游戏)
- html5 canvas 特效(JavaScript canvas实现流星特效)
- ecmascript编程语言(一篇文章弄懂ECMAScript中的操作符)
- 每日一典 过江之鲫(每日一典过江之鲫)
- 红色代表什么(红色代表什么意义和象征)
- 菲律宾安全吗(菲律宾安全吗2023)
- 彩礼重要吗()
- 写信告诉我今天海是什么颜色(写信告诉我今天海是什么颜色回答)
- 英语难学吗(法语比英语难学吗)
热门推荐
- sql查询数据库前五条信息(SQL查询数据库中符合条件的记录的总数)
- dedecms修改教程(还原dedecms数据后系统基本参数空白的解决方法)
- php框架创建控制器代码(php连接sftp的作用以及实例代码)
- GridPanel中getSelectionModel
- docker运行镜像端口(docker镜像访问本地elasticsearch端口操作)
- dedecms编写模板(dedecms模板怎么修改)
- python scrapy爬虫教程视频(详解python3 + Scrapy爬虫学习之创建项目)
- 如何选择适合自己的云服务器(云服务器操作系统如何选择)
- python编写一个名片(详解Python做一个名片管理系统)
- 搬瓦工用哪个端口号(搬瓦工bandwagon服务器购买及初步环境搭建图文教程)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9