回复 楼主 liyibo0719
我能给的建议是:1.第一个文件的内容存成set.这个查询的要比list快
2.第二个文件的里的文件输出不要在循环的时候用open.这相当于反复的打开文件句柄,你可以放到外面.里面只使用write.也可以比如处理完1000个输出一次
3.可以把第二个文件拆分成多个文件,同时处理
4.使用多线程来处理.这个主要是IO的瓶颈.
希望对你有帮助
[此贴子已经被作者于2019-9-17 10:39编辑过]
[此贴子已经被作者于2019-9-17 10:39编辑过]
a=set() with open("inter_0.16.txt", 'r') as f: while True: lines = f.readline() #print (lines) if not lines: break a.add(lines.strip()) #print(a) with open("uniq_read.txt",'a+') as f2: outstring="" outcount=0 with open ("tmp0.txt", 'r') as f1: while True: lines = f1.readline() if not lines: break b=lines.rstrip() b=b.split() if b[0] not in a: outstring+='{}\t{}\t{}\t{}\t{}\n'.format(b[0],b[1],b[2],b[3],b[9]) outcount++ if outcount>1000: f2.write(outstring) outstring="" outcount=0
[此贴子已经被作者于2019-9-19 09:30编辑过]