我有两份档案。我想读取文件1中的每一行,并检查它是否与文件2中的任何一行匹配。我希望对file1中的每一行重复此操作,并打印file1的行号,该行号在file2中找到了匹配项。到目前为止我有这个。它适用于每个4-5行的测试文件,但是当处理超过60k行的大文件时,我得到的是一个空白输出
num=0
f1 = open('pdataf.txt', 'r')
f2 = open('splitc.txt', 'r')
fo = open('op.txt', 'w')
for line1 in f1:
for line2 in f2:
num=num+1
if line1==line2:
nummy=str(num)
fo.write(nummy)
fo.write('\n')
break
continue
f1.close()
f2.close()
首先,第8行出现语法错误,请将该行替换为
print(num)
。 关于你的问题,我没有太多的信息,澄清一下可能是个好主意,但我怀疑你读到的行的末尾有一个结束行字符"\n"
。你知道吗要去掉这个字符,可以使用this topic中讨论的
rstrip()
方法。你知道吗因此,我建议将您的代码替换为:
相关问题 更多 >
编程相关推荐