回复 楼主 liyibo0719
我能给的建议是:1.第一个文件的内容存成set.这个查询的要比list快
2.第二个文件的里的文件输出不要在循环的时候用open.这相当于反复的打开文件句柄,你可以放到外面.里面只使用write.也可以比如处理完1000个输出一次
3.可以把第二个文件拆分成多个文件,同时处理
4.使用多线程来处理.这个主要是IO的瓶颈.
希望对你有帮助
[此贴子已经被作者于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编辑过]