Python方法或类来比较两个视频文件?

时间:2011-02-02 22:38:03

标签: python file compare

我正在尝试编写一个程序来比较文件并在python中显示重复项。有人知道与此相关的任何好的功能或方法吗?我很遗憾...

3 个答案:

答案 0 :(得分:2)

如果您只是在寻找完全重复的内容,请在两者上进行MD5 hash,看看它们是否匹配:

import hashlib

file1 = open('file1.avi', 'r').read()
file2 = open('file2.avi', 'r').read()

if hashlib.sha512(file1).hexdigest() == hashlib.sha512(file2).hexdigest():
  print 'They are the same'
else:
  print 'They are different'

如果没有,我会尝试OpenCV's Python Bindings并检查它们是否逐帧匹配。

答案 1 :(得分:0)

我首先要开始比较文件名和文件大小。如果找到匹配项,则可以循环遍历文件的字节以进行比较,尽管这可能非常密集。

我不知道可以在python中执行此操作的库。

答案 2 :(得分:0)

我会使用os.walk浏览文件树。

对于每个文件,我会存储绝对路径+文件名,由文件大小和签名索引(前16个字节?前512个字节的哈希?完整文件中的哈希?)。

完成后,你最终得到一个文件大小的字典;对于每种尺寸,文件签名的字典;对于每个签名,共享该签名的所有文件的列表。如果您的文件签名不是基于完整文件,或者具有很大的冲突机会,那么您可以对这些冲突文件进行更深入的比较。