- 论坛徽章:
- 0
|
文件中包含如下的内容:
aaaaaaaaaaa
bbbbbbbbbbbbb
aaaaaaaaaaaaaaa
bbbbbbbbbbbb
bbbbbbbbbbbbbbb
文件中行数大概有几十万行。
用python脚本对文件进行处理,统计相似度比较高的行及出现的次数。
如上的内容统计结果为:
aaaaaaaaaa 2
bbbbbbbbbbbbb 3
脚本如下:
def ansy_file(fileName):
file = open(fileName)
bFlag=0
errorInfo={}
dealTime=time.time()
while 1:
bFlag=0
line = file.readline()
if not line:
break
for k in errorInfo:
s=difflib.SequenceMatcher(None, k, line)
if(s.ratio()>0.6):
count=errorInfo[k]
errorInfo[k]=count+1
bFlag=1
break
if(bFlag==0):
errorInfo[lineErrorLog]=1
print errorInfo.keys()
文件内容很大时,这个脚本处理时间非常长,需要处理一天的时间,请问有什么方法进行优化? |
|