python多线程处理文件_Python实验:采用多线程在一个文件中查找特定字符串
展开全部
import threading , time
def countstr(f):
global findstr,occurtimes
times=0
for string in f:
if findstr in string:
times+=1
occurtimes.append(times)
occurtimes=[]
threadnum=int(raw_input("please input thread number:"))
filename=raw_input("please input filename:")
findstr=raw_input("please input to find string:")
text=open(filename).readlines()
start=time.time()
threads=[]
for i in range(threadnum):
t=threading.Thread(target=countstr,args=(text[i::threadnum],))
threads.append(t)
t.start()
for t in threads:
t.join()
end=time.time()
print("multithread using %.5f seocnds"%(end-start))
print('string "%s" occurs %d times'%(findstr,sum(occurtimes)))
occurtimes=[]
start=time.time()
countstr(text)
end=time.time()
print("singlethread uing %.5f seconds"%(end-start))
print('string "%s" occurs %d times'%(findstr,sum(occurtimes)))
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
