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

python文件对比

时间:2023-02-10 10:33:16浏览次数:44  
标签:文件 file1 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,file2,python,txt,对比,md5
From: https://www.cnblogs.com/ruiy/p/17108049.html

相关文章

  • 联想 Lenovo V110-15ISK电脑 Hackintosh 黑苹果efi引导文件
    原文来源于黑果魏叔官网,转载需注明出处。黑苹果资源下载请搜索:黑果魏叔硬件型号驱动情况主板联想LenovoV110-15ISK处理器Intel(R)Core(TM)i3-6006UCPU@2.00GHz已驱动......
  • 00_learn_python
    https://gitee.com/yooome/golang/tree/main百度网盘资源搜索http://www.panmeme.com/Youcanuseittodebugyourhomeworkassignmentsandasasupplementtoonl......
  • python高级进阶 一切皆对象
    1.函数可以被赋值  2.类可以被赋值  3.对象可以传递给列表  4.函数当成返回值 ......
  • python模块的name属性
    一个模块被另一个程序第一次引入时,其主程序将运行。1、如果想在模块被引入时,模块中的某一程序块不执行,可以用name属性来使该程序块仅在该模块自身运行时执行。2、每个模块都......
  • 通过bat批处理文件快速切换本机IP地址
    一起因机房服务器有内、外网两张网卡,内网网卡(192.168.8.8)负责以及构建教学管理软件所需的局域网。外网网卡(10.12.242.113)连接校园内网,用于机房内所有计算机共享上网。现......
  • java根据excel某些格子特定内容归类文件(定值单分类工具)
      packagecom.xxx.controller;importjava.io.File;importjava.io.IOException;importjava.nio.file.Files;importjava.nio.file.Path;importjava.nio.fi......
  • SLICK EDIT 2022 无法打开文件
    原文链接:https://blog.csdn.net/linglongqiongge/article/details/112849049 测试环境slickedit2022问题场景打开某.h时,一直无法打开,提示“Codepagenotinstalled......
  • C#.NET WEB项目大文件上传下载解决方案
    ​ IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头。 一. 两个必要响应头Accept-Ranges、ETag     ......
  • file文件分类工具,可将文件夹中的word和excel复制到指定文件夹
    packagecom.xxx.controller;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;/***@autho......
  • 【JVM】Class文件结构详解
    1 简介Class文件是一组以字节为基础单位的二进制流。JVM的数据入口就是我们平时代码编译后的Class文件,那么要搞懂JVM的原理之前,就要了解Class文件里边都是什么,才能更好......