Python之檔案自動去重

2021-08-26 05:53:34 字數 1477 閱讀 3307

小擼了把python,這個果然是世界上最好用的語言

md5訊息摘要演算法(英語:md5 message-digest algorithm),一種被廣泛使用的密碼雜湊函式,可以產生出乙個128位(16位元組)的雜湊值(hash value),用於確保資訊傳輸完整一致。md5由美國密碼學家羅納德·李維斯特(ronald linn rivest)設計,於2023年公開,用以取代md4演算法。

說了這麼長,總結出來就一句,這玩意就是檔案的指紋,幾乎每個檔案是唯一的(碰到重複的,恭喜你,可以去買彩票了),那我們就把這個指紋拿出來,乙個乙個比對,肯定不能會有漏網的檔案,既不會錯殺三千,也不使一檔案漏網,原理上通了,那麼我們就要去搞個**來幫我完成這個工作,作為最好用的語言,python就這樣被我翻了牌子

**如下

# -*- coding:utf-8 -*-

import os

import hashlib

import time

import sys

#搞到檔案的md5

def get_ms5(filename):

m = hashlib.md5()

mfile = open(filename , "rb")

m.update(mfile.read())

mfile.close()

md5_value = m.hexdigest()

return md5_value

#搞到檔案的列表

def get_urllist():

base = ("d:\\lwj\\spider\\pic\\")#這裡就是你要清繳的檔案們了

list = os.listdir(base)

urllist =

for i in list:

url = base + i

return urllist

#主函式

if __name__ == '__main__':

md5list =

urllist = get_urllist()

print("test1")

for a in urllist:

md5 = get_ms5(a)

if(md5 in md5list):

os.remove(a)

print("重複:%s" % a)

else:

print("一共%s張**" % len(md5list))

效果

這戰鬥力槓槓的,啥叫科技改變生活,此之謂也

python檔案去重 python實現檔案內容去重

python 實現檔案內容去重 有的文字檔案很大,超出了編譯器能讀取的範圍 能有 解決的 解決,寫好 可以在其他 中呼叫,更方便使用 簡單的可以分為兩種情況小檔案和大檔案,先來看小檔案去重實現。如同把大象關冰箱一樣分三步 第一步,讀取檔案每一行,並處理掉換行符 第二步,將檔案內容去重 第三步,寫到新...

python 多表去重 Python列表去重

無聊統計了下列表去重到底有多少種方法。1.集合 list set alist 如果要保持順序 import random if name main a random.randint 0,10 for i in xrange 10 b list set a b.sort key a.index 2.字...

python中df去重 python去重函式是什麼

資料去重可以使用duplicated 和drop duplicates 兩個方法。dataframe.duplicated subset none,keep first 返回boolean series表示重複行 引數 subset 列標籤或標籤序列,可選 僅考慮用於標識重複項的某些列,預設情況下使...