Python IO匹配来自不同文件的字符串
有点像python新手,有人能告诉我我做错了什么吗 编辑: 问题是: 意外输出。。。某些行的频率超过100,而我在路径中只有10个文件,每个文件只有唯一的行 以下是基本算法: 读取REF文件 对于路径中的每个文件x,请执行以下操作: 将x中的每一行与REF中的每一行进行比较,然后: 如果两行匹配,则将行计数频率增加1。 如果REF中不存在该行,则将该行添加到输出并将频率设置为0Python IO匹配来自不同文件的字符串,python,dictionary,io,text-files,counting,Python,Dictionary,Io,Text Files,Counting,有点像python新手,有人能告诉我我做错了什么吗 编辑: 问题是: 意外输出。。。某些行的频率超过100,而我在路径中只有10个文件,每个文件只有唯一的行 以下是基本算法: 读取REF文件 对于路径中的每个文件x,请执行以下操作: 将x中的每一行与REF中的每一行进行比较,然后: 如果两行匹配,则将行计数频率增加1。 如果REF中不存在该行,则将该行添加到输出并将频率设置为0 import os from itertools import izip path = "./logs" rank
import os
from itertools import izip
path = "./logs"
rankdict = {}
with open('REF.out', 'r') as f:
for line in f:
rankdict[line.strip()]= int(0)
for d in os.listdir(path):
pd = os.path.join(path, d)
with open(pd, 'r') as currentFile:
for line in izip(currentFile):
linex = str(line).strip()
if linex not in rankdict:
rankdict.update({linex: int(0)})
else:
rankdict[linex] +=1
什么不起作用?错误?意外输出?哦,对不起,是的,意外输出。。。某些行的频率超过100,而我在path中只有10个文件,每个文件只有唯一的行。为什么在for循环中使用IzicCurrentFile而不仅仅是currentFile?…为了总体整洁,请将int0替换为0.0,并将rankdict.update{linex:int0}替换为rankdict[linex]=0。以及linex=strline.strip和linex=line.strip。