Python:比较两个文件,并显示行数

实现效果图

在这里插入图片描述
在这里插入图片描述

代码一

实现思路:
依次读取文件每一行并存放在两个列表中,通过列表相同索引比较

def compare_files(file1,file2):
    file1 = input("请输入需要比较的头一个文件名:")
    file2 = input("请输入需要比较的另一个文件名:")
    f1 = open(file1, "r")
    f2 = open(file2, "r")
    count = 0#统计行数
    linecount = []#统计不一样的数量
    f1_line = []
    f2_line = []
    for each in f1:
        f1_line.append(each)
    for each in f2:
        f2_line.append(each)
        
    for i in range(len(f1_line)):
        if f1_line[i] != f2_line[i]:
            count += 1
            linecount.append(i+1)
            
    print(f"两个文件共有【{count}】处不同:")
    for each in linecount:
        print(f"第{each}行不一样")
        
    f1.close()
    f2.close()

代码二

实现思路:直接准备比较无需将文件内容存放列表中

def file_compare(file1, file2):
    f1 = open(file1)
    f2 = open(file2)
    count = 0 # 统计行数
    differ = [] # 统计不一样的数量

    for line1 in f1:
        line2 = f2.readline()
        count += 1
        if line1 != line2:
            differ.append(count)

    f1.close()
    f2.close()
    return differ

file1 = input('请输入需要比较的头一个文件名:')
file2 = input('请输入需要比较的另一个文件名:')

differ = file_compare(file1, file2)

if len(differ) == 0:
    print('两个文件完全一样!')
else:
    print('两个文件共有【%d】处不同:' % len(differ))
    for each in differ:
        print('第 %d 行不一样' % each)

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值