#coding = utf-8 import os,os.path import threading import time lock = threading.RLock() def action(ip): result = "ip.txt" return1 = os.system('ping -n 2 -w 1 %s' % ip) # 每个ip ping2次,等待时间为1s #线程加锁 lock.acquire() with open(result, 'a+') as f: if not return1: f.write("result:%d %s " % (return1, ip)) lock.release() return return1 #多线程代码 def pingfuncthread(): thread_list = [] for j in range(1,255): for i in range(1,255): ip = "192.168.%d.%d" %(j,i) t = threading.Thread(target=action,args = (ip,)) #t.setDaemon(True) thread_list.append(t) for t in thread_list: t.start() for t in thread_list: t.join() #单线程代码 def pingfunc(): for i in range(1,255): ip = "192.168.31.%d" %(i) action(ip) if __name__ == '__main__': pingfunc() #run_plot("test.txt")