欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python進(jìn)行文件對(duì)比的方法

 更新時(shí)間:2018年12月24日 08:34:47   作者:wang_yubin92  
在本篇內(nèi)容里小編給分享了關(guān)于python進(jìn)行文件對(duì)比的方法和步驟,需要的朋友們可以學(xué)習(xí)下。

文件對(duì)比是否一致,我們一般采用md5值對(duì)比,假如一樣,代表文件一致,不一樣說明不一致

假如想要詳細(xì)的對(duì)比信息內(nèi)容,difflib庫提供了文件對(duì)比的詳細(xì)信息和結(jié)果

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

我們先建立幾個(gè)示例文件方便我們參考,文件file1,file1_copy,file2

2、file1的內(nèi)容和file1_copy的內(nèi)容一致,都為

我是文件hello

為了測(cè)試我們的文件一致性

3、file2的內(nèi)容和file1的文件有所區(qū)別,內(nèi)容為:

我是文件world

4、接下來就是獲取md5的方法,我可以了個(gè)公共方法,大家直接調(diào)用就好

需要導(dǎo)入包

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()

然后我們打印下這幾個(gè)文件的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、運(yùn)行python結(jié)果可以看到,file1和file1_copy文件的md5值是一樣的,說明這兩個(gè)文件是一樣的,file2和他們不一樣

6、接下來就是使用difflib詳細(xì)的對(duì)比了,寫法如下:

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、運(yùn)行python結(jié)果可以看到,具體兩個(gè)文件的區(qū)別

  我是文件

- hello+ world

總結(jié):以上就是本次關(guān)于python怎樣進(jìn)行文件對(duì)比的操作方法,感謝大家的閱讀和對(duì)腳本之家的支持。

相關(guān)文章

  • 使用Tensorflow實(shí)現(xiàn)可視化中間層和卷積層

    使用Tensorflow實(shí)現(xiàn)可視化中間層和卷積層

    今天小編就為大家分享一篇使用Tensorflow實(shí)現(xiàn)可視化中間層和卷積層,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • 分析Python編程時(shí)利用wxPython來支持多線程的方法

    分析Python編程時(shí)利用wxPython來支持多線程的方法

    這篇文章主要介紹了Python編程時(shí)利用wxPython來支持多線程的方法,本文主要以開發(fā)GUI程序時(shí)做線程通訊作為一個(gè)示例來講解,需要的朋友可以參考下
    2015-04-04
  • PyCharm活動(dòng)模板設(shè)置步驟實(shí)現(xiàn)

    PyCharm活動(dòng)模板設(shè)置步驟實(shí)現(xiàn)

    很多情況,我們?cè)趯懘a都會(huì)存在經(jīng)常要寫一些簡單且又重復(fù)的代碼,Pycharm中的活動(dòng)模板可以把這些使用頻率很高的一些代碼打包起來設(shè)置一個(gè)快捷鍵,本文就來介紹一下如何實(shí)現(xiàn)
    2023-12-12
  • pytest解讀fixtures中yield與addfinalizer區(qū)別

    pytest解讀fixtures中yield與addfinalizer區(qū)別

    這篇文章主要為大家介紹了pytest官方解讀fixtures中yield與addfinalizer區(qū)別,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • 使用matplotlib畫圖自定義marker

    使用matplotlib畫圖自定義marker

    這篇文章主要介紹了使用matplotlib畫圖自定義marker問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • python中路徑的三種寫法+路徑前符號(hào)含義解讀

    python中路徑的三種寫法+路徑前符號(hào)含義解讀

    這篇文章主要介紹了python中路徑的三種寫法+路徑前符號(hào)含義解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Pycharm 操作Django Model的簡單運(yùn)用方法

    Pycharm 操作Django Model的簡單運(yùn)用方法

    今天小編就為大家分享一篇Pycharm 操作Django Model的簡單運(yùn)用方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 深入淺析python3 依賴倒置原則(示例代碼)

    深入淺析python3 依賴倒置原則(示例代碼)

    今天通過園區(qū)停車信息這樣一個(gè)場景分析python3 依賴倒置原則,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-07-07
  • 基于pandas數(shù)據(jù)清洗的實(shí)現(xiàn)示例

    基于pandas數(shù)據(jù)清洗的實(shí)現(xiàn)示例

    數(shù)據(jù)清洗是數(shù)據(jù)科學(xué)和數(shù)據(jù)分析中非常重要的一個(gè)步驟,本文主要介紹了基于pandas的數(shù)據(jù)清洗,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • Pycharm連接遠(yuǎn)程服務(wù)器并遠(yuǎn)程調(diào)試的全過程

    Pycharm連接遠(yuǎn)程服務(wù)器并遠(yuǎn)程調(diào)試的全過程

    PyCharm 是 JetBrains 開發(fā)的一款 Python 跨平臺(tái)編輯器,下面這篇文章主要介紹了Pycharm連接遠(yuǎn)程服務(wù)器并遠(yuǎn)程調(diào)試的全過程,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2021-06-06

最新評(píng)論