久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

Python實現檢測文件的MD5值來查找重復文件案例

瀏覽:64日期:2022-08-02 14:00:47

平時學生交上機作業的時候經常有人相互復制,直接改文件名了事,為了能夠簡單的檢測這種作弊行為,想到了檢測文件的MD5值,雖然對于抄襲來說作用不大,但是聊勝于無,以后可以做一個復雜點的。

# coding: utf8import hashlibimport osfrom collections import Counterimport sysreload(sys)sys.setdefaultencoding(’utf-8’)def get_md5_01(file_path): md5 = None if os.path.isfile(file_path): f = open(file_path,’rb’) md5_obj = hashlib.md5() md5_obj.update(f.read()) hash_code = md5_obj.hexdigest() f.close() md5 = str(hash_code).lower() return md5def get_md5_02(file_path): f = open(file_path,’rb’) md5_obj = hashlib.md5() while True: d = f.read(8096) if not d: break md5_obj.update(d) hash_code = md5_obj.hexdigest() f.close() md5 = str(hash_code).lower() return md5if __name__ == '__main__': output_list=[] #input_path=r'e:xx新建文件夾' #output_path = unicode(input_path , 'utf8') output_path=os.getcwd() g = os.walk(output_path) for path,dir_list,file_list in g: for file_name in file_list: output_list.append(os.path.join(path, file_name) ) md5_list= [get_md5_01(i) for i in output_list] Counter_list=Counter(md5_list) for i in Counter_list.items(): if i[1] >1: duplicate_list=[ a for a in range(len(md5_list)) if md5_list[a] == i[0]] print ’-’*50 print i[0] for j in duplicate_list:with open(’duplicate.log’, mode=’a+’) as f: f.write(i[0]+’t’+output_list[j]+’n’)print output_list[j]

補充知識:python一句話校驗文件哈希值

MD5

python -c 'import hashlib,sys;print hashlib.md5(open(sys.argv[1],’rb’).read()).hexdigest()' 文件名

SHA-1

python -c 'import hashlib,sys;print hashlib.sha1(open(sys.argv[1],’rb’).read()).hexdigest()' 文件名

SHA-256

python -c 'import hashlib,sys;print hashlib.sha256(open(sys.argv[1],’rb’).read()).hexdigest()' 文件名

SHA-512

python -c 'import hashlib,sys;print hashlib.sha512(open(sys.argv[1],’rb’).read()).hexdigest()' 文件名

以上這篇Python實現檢測文件的MD5值來查找重復文件案例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 介休市| 兴仁县| 缙云县| 运城市| 曲周县| 康保县| 图木舒克市| 桐梓县| 松江区| 兰溪市| 曲沃县| 阿拉善盟| 海兴县| 铜鼓县| 冷水江市| 溆浦县| 辉南县| 盖州市| 左贡县| 天长市| 麻城市| 延长县| 武山县| 木兰县| 岑溪市| 杭州市| 新龙县| 哈巴河县| 龙泉市| 新余市| 六枝特区| 嫩江县| 吴川市| 博客| 丹阳市| 纳雍县| 林芝县| 保山市| 扶风县| 巴彦县| 永平县|