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)))

print

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)))


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部