我发现了这个想法的变种,但没有一个可以让我(对
python来说很新)到我需要的地方.
这是场景:
>我有一个巨大的27 gig hashfile.txt,它由独立的字符串组成.
>我需要逐行解析这个文件,搜索另一个不那么大(~800mb)的addresses.txt文件中的匹配项
>找到匹配项时,需要将其写入outfile.txt
我目前的代码已尽可能优化,但只能达到150行/秒.考虑到我的hashfile.txt中有超过15亿行,任何优化都会有所帮助.
fin = 'hashed.txt'
nonzeros = open('addrOnly.txt', 'r')
fout = open('hits.txt', 'w')
lines = nonzeros.read()
i = 0
count = 0
with open(fin, 'r') as f:
for privkey in f:
address = privkey.split(", ")[0]
if address in lines:
fout.write(privkey)
i = i+1
if i%100 == 0:
count = count + 100
print "Passed: " + str(count)