当前位置: 首页 > 编程笔记 >

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

苍恩
2023-03-14
本文向大家介绍Python判断两个文件是否相同与两个文本进行相同项筛选的方法,包括了Python判断两个文件是否相同与两个文本进行相同项筛选的方法的使用技巧和注意事项,需要的朋友参考一下

python判断两个文件是否相同

import hashlib
def 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==str2
if __name__ == '__main__':
  f1=open("D:/2.iso","rb")
  f2=open("E:/wenjian/1.iso","rb")
  print IsHashEqual(f1,f2)

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

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

import os
import os.path as osp
def 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')

总结

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

 类似资料:
  • 假设您有两个相同的对象(意味着它们分别具有相同的属性和相同的值)。 你如何测试平等性? 例

  • 问题内容: 我有一个Shell脚本,在其中需要检查两个文件是否包含相同的数据。我对大量文件执行此操作,并且在我的脚本中,该命令似乎是性能瓶颈。 这是一行: 有没有一种比较快速的方法来比较文件,也许是自定义算法而不是默认算法? 问题答案: 我相信会在第一个字节的差异处停止:

  • 我有一个shell脚本,需要在其中检查两个文件是否包含相同的数据。我对很多文件都这样做,在我的脚本中,命令似乎是性能瓶颈。 这是一句话: 是否有一种更快的方法来比较文件,也许是一种自定义算法,而不是默认的?

  • 有人问这两者是否相同,我更喜欢哪一个。我告诉他他们是一样的,但他似乎对答案不满意。那么,它们是不同的还是相同的,你更喜欢哪一个?

  • 问题内容: 如果我有两个CSS文件: 文件1: 档案2: 并将它们包含在页面中,哪一个优先?我猜是最后加载的那个吗?如果是这样,是否有办法确保最后加载哪个CSS文件? 问题答案: 在这种情况下,最后一个加载的(或如David指出的,更准确地 包括 最后一个)获胜。但是请注意,这是基于属性的,如果您加载具有不同属性的2个定义,则结果将是组合。如果属性同时出现在第一个属性和第二个属性中,则最后一个属性

  • 我想验证两个APK文件是否已使用相同的证书签名。 我有整个JavaSDK可用,但想从Java代码使跨平台的原因。 有什么想法吗?