首页 > 编程语言 >python文件对比

python文件对比

时间:2023-03-26 11:00:53浏览次数:37  
标签:文件 file1 copy file2 python txt 对比 md5

文件对比是否一致,我们一般采用md5值对比,假如一样,代表文件一致,不一样说明不一致

假如想要详细的对比信息内容,difflib库提供了文件对比的详细信息和结果

1、首先我们查看下md5值的使用方法

我们先建立几个示例文件方便我们参考,文件file1,file1_copy,file2

2、file1的内容和file1_copy的内容一致,都为

我是文件hello

为了测试我们的文件一致性

3、file2的内容和file1的文件有所区别,内容为:

我是文件world

4、接下来就是获取md5的方法,我可以了个公共方法,大家直接调用就好

需要导入包

import os

import hashlib

def get_file_md5(filename):

  if not os.path.isfile(filename):

    return

  md5 = hashlib.md5()

  f = file(filename,'rb')

  while True:

    b = f.read(8096)

    if not b:

      break

    md5.update(b)

  f.close()

  return md5.hexdigest()

然后我们打印下这几个文件的md5值

print 'file1   的md5:%s' % get_file_md5('file1.txt')

print 'file1_copy的md5:%s' % get_file_md5('file1_copy.txt')

print 'file2   的md5:%s' % get_file_md5('file2.txt')

 

5、运行python结果可以看到,file1和file1_copy文件的md5值是一样的,说明这两个文件是一样的,file2和他们不一样

6、接下来就是使用difflib详细的对比了,写法如下:

import difflib

import sys

file1 = open('file1.txt', 'U').readlines()

file2 = open('file2.txt', 'U').readlines()

diff = difflib.ndiff(file1, file2)

sys.stdout.writelines(diff)

 

7、运行python结果可以看到,具体两个文件的区别

  我是文件

- hello+ world

总结:以上就是本次关于python怎样进行文件对比的操作方法,感谢大家的阅读和对呐喊教程的支持。

标签:文件,file1,copy,file2,python,txt,对比,md5
From: https://blog.51cto.com/u_15460722/6149946

相关文章

  • Rclone:远端大文件传输
    背景事情是这样的……前几天在远端的服务器上进行了一个MPI程序的profile,准确来说是tracing。产生的文件贼大,大约有10G+的样子。问题是境外的服务器和本地直接用sftp连接......
  • Python 批量翻译图片 附详细代码
    环境:Python3.7原文链接:Python批量翻译图片附详细代码_艽野尘梦better的博客-CSDN博客有道智云API想要批量翻译图片,并将翻译内容合并在原图片上,即不改变图片背景,翻......
  • /etc目录下passwd shadow group gshadow 四个文件中每个字段的含意以及etc目录下login
     /etc/passwd  第一字段:用户名称(account)这个字段没什么可说的,就是用户个人的用户名,不过,需要注意的是用户在起名时要遵守相应规范。第二字段:密码标识(password)该......
  • 关于 Web 应用的内联 css 和 scss 文件里的 var 关键字用法
    为什么网站性能调优准则里都强调要UseinlinefontsandCSSinsteadofloadingthemasynchronously?网站性能优化的一个重要目标是尽可能地缩短页面加载时间,使用户可以......
  • 如何在旧手机上搭建网站做文件服务器_ksweb和frp
    生活中随着手机的更新换代,我们会有很多不用的旧手机,这些旧手机通常在家里吃灰,用来换不锈钢盆和大剪刀又太可惜了。本文通过一种行之有效的方法,教你搭建一个可外网访问的24......
  • 用DiskGenius打开虚拟机磁盘文件vmdk的方法
    如何用DiskGenius打开虚拟机磁盘文件vmdk当然此方法也适合虚拟机无法正常启动,但虚拟机里重要文件时可以用此方法将文件复制出来.1、启动DiskGenius分区工具,根据图上点击......
  • 联想ThinkPad T480s黑苹果efi引导文件
    原文来源于黑果魏叔官网,转载需注明出处。硬件型号驱动情况主板LenovoThinkPadT480s处理器inteli5-8250U已驱动内存24GBRAM(8+16)已驱动硬盘SamsungSSD970EVO1TB......
  • Android studio下layout文件内容无提示
     当时按id只有两个选项。  清楚缓存后重启,起作用。 ......
  • 10.文件上传和文件包含
    文件上传和文件包含目录文件上传和文件包含文件上传一句话木马上传绕过思路1.格式解析2.目录解析3.分号解析4.黑名单5.白名单文件上传防御Webshell介绍webshell分类文件包......
  • Python函数参数类型及可变参数
    参数类型位置参数根据形参位置顺序进行实参传递;关键字参数根据形参名进行实参传递;默认参数给形参设置默认值,实参与默认值不符时需要覆盖传递;可变参数......