使用场景: 以其中一个文件为基准(正确的值),对比两个文件中不同的行,并统计出来正确的数,错误的数 如
1.txt (基准文件)
a.jpg 0
b.jpg 2
c.jpg 3
...
2.txt
a.jpg 1
b.jpg 2
c.jpg 3
...
那么这两个文件中就 a.jpg 出错了 我的思路比较粗爆,就是拿 1 这个基准的每一行去了空格后,与 2 里边比,比中就记个数,一直把 1 中的挨个与 2 中的比一遍,但我发现这样写,每次 都要重新打开文件 2 一次,而且感觉不也靠谱,而且不知道怎么把错误的给挑出来,有什么更好的办法吗?或者是优化一下我这个
def compare(testfile, basefile):
correct = 0
all = 0
with open(testfile, encoding="utf-8") as f1:
for i in f1.readlines():
all += 1
with open(basefile, encoding="utf-8") as f2:
for j in f2.readlines():
if i.replace(" ", "") == j.replace(" ", ""):
correct += 1
else:#想把错误的输出出来,但没有输出
print(i)#想把错误的输出出来
print("样本数: %d\n 正确数: %d\n 错误数: %d\n 准确率: %f" %
(all, correct, all - correct, correct / all))
if __name__ == '__main__':
compare("test1.txt", "base1.txt")
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.