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
您可能感兴趣
- canvas3d效果(JavaScript canvas实现七彩太阳光晕效果)
- js实现继承的五种(JavaScript继承的三种方法实例)
- javascript 数据分析(利用JavaScript差集实现一个对比小工具)
- css中好看的渐变颜色代码(CSS Tips:段落每行渐变色文本效果的实现方法)
- linux压缩文件夹zip命令(Linux gzip命令压缩文件实现原理及代码实例)
- script标签中的async,defer属性
- javascript执行类的所有方法(Javascript中异步等待的深入理解)
- javascript将字符串转换成数组(如何将JavaScript将数组转为树形结构)
- MVC中JavaScriptResult
- 宝塔面板如何通过ip访问网站(宝塔面板301重定向使用教程)
- sql数据库安装概要(详解将DataGrip连接到MS SQL Server的方法)
- 数据类型typescript知多少(一文了解TypeScript数据类型)
- canvas实现字体粒子爆炸特效(javascript canvas实现雨滴效果)
- javascript 模块原理(详解JavaScript引擎V8执行流程)
- 生成随机数javascript(JavaScript实现随机生成验证码及校验)
- javascript 函数生命周期(JavaScript sleep睡眠函数的使用)
- 某知名企业绩效管理体系及薪酬分配体系操作手册(某知名企业绩效管理体系及薪酬分配体系操作手册)
- 职场人改不掉这4个习惯,只会越混越穷,一辈子也翻不了身(职场人改不掉这4个习惯)
- 华为 联想等46家公司笔试面试题,涉及各行各业,建议收藏(联想等46家公司笔试面试题)
- ()
- ()
- 800壮士拼死拖住30万日军 八佰 的真实历史,誓与阵地共存亡(800壮士拼死拖住30万日军)
热门推荐
- 织梦dedecms加固版需要付费吗(织梦dedecms系统后台安全提示去除方法)
- 云服务器无法操作(云服务器登录连接失败解决方案)
- php如何获取当前日期(php实现获取近几日、月时间示例)
- nginx是怎样负载均衡的(Nginx四层负载均衡的配置指南)
- vue中如何判断请求状态码(关于VUE的编译作用域及slot作用域插槽问题)
- 结构、枚举和数组的区别
- MySQL定时任务(EVENT事件)如何配置详解(MySQL定时任务EVENT事件如何配置详解)
- 查询按照部门分组的mysql语句(Mysql根据某层部门ID查询所有下级多层子部门的示例)
- pythonjson库(Python常用的json标准库)
- escape()、encodeURI()、encodeURIComponent()区别
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9