杰网资源 Design By www.escxy.com
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是否可达的实例详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
标签:
python,判断,ip
杰网资源 Design By www.escxy.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
杰网资源 Design By www.escxy.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。



