Python判断两个文件是否相同与两个文本进行相同项筛选的方法

时间:2021-05-23

python判断两个文件是否相同

import hashlibdef getHash(f): line=f.readline() hash=hashlib.md5() while(line): hash.update(line) line=f.readline() return hash.hexdigest()def IsHashEqual(f1,f2): str1=getHash(f1) str2=getHash(f2) return str1==str2if __name__ == '__main__': f1=open("D:/2.iso","rb") f2=open("E:/wenjian/1.iso","rb") print IsHashEqual(f1,f2)

计算2个文件的MD5值,大文件计算较慢

python对两个文本进行相同项筛选

import osimport os.path as ospdef filter(path): file_path = osp.join(path, 'index.txt') if osp.exists(file_path): return file_path index_file = open(file_path, 'a+') if not os.path.isdir(path): #判断path是否为路径 return for root, dirs, list in os.walk(path): for i in list: dir = os.path.join(root, i) #将分离的部分组成一个路径名 #if os.path.getsize(dir) < 60000: #获取文件大小 #os.remove(dir) #删除文件 print (i) index_file.write(i+'\n') index_file.close() def compare(path): file=osp.join(path, 'label.txt') file_path = osp.join(path, 'index.txt') with open(file_path, 'r') as file1: with open(file, 'r') as file2: same = set(file1).intersection(file2) same.discard('\n') with open('some_output_file.txt', 'w') as file_out: for line in same: file_out.write(line) file_out.close()filter(r'D:\Desktop\jiaoben\ci')compare(r'D:\Desktop\jiaoben\ci')

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章