Лучший способ сравнить два файла в python и почему?

У меня есть два файла a.txt и b.txt, поэтому я пытаюсь сравнить их с помощью хеша, как показано ниже.

#getting hash of files and comparing
file1 = hashlib.md5(open('a.txt', 'rb').read()).hexdigest()
file2 = hashlib.md5(open('b.txt', 'rb').read()).hexdigest() 
file1==file2--> returns True or False

это один из способов, и мы также можем использовать filecmp, как показано ниже.

filecmp.cmp('a.txt','b.txt')--> returns True or False

В обоих этих способах, что лучше и почему?


person praveen jp    schedule 31.07.2018    source источник


Ответы (1)


filecmp.cmp('a.txt','b.txt', shallow=False) как раз то, что вам нужно для сравнения 2 файлов.

hashlib.md5() добавит сложности, потребует больше ресурсов ЦП, займет больше времени и, самое главное, даст неправильный результат, когда 2 разных файла имеют одинаковый хэш md5.

person user803422    schedule 31.07.2018