Я пытаюсь создать контрольную сумму двух файлов для их сравнения. Это сценарий, который я использую:проверка контрольной суммы python двух больших файлов
import hashlib
import datetime
f = open('myfile.mov', 'rb')
def checkF(f, block_size=2**20):
... print datetime.datetime.now()
... h = hashlib.sha1()
... while True:
... data = f.read(block_size)
... if not data:
... break
... h.update(data)
... print datetime.datetime.now()
... return h.digest()
...
>>> checkF(f)
2012-03-21 09:33:40.704032
2012-03-21 09:33:40.704490
'\xda9\xa3\xee^kK\r2U\xbf\xef\x95`\x18\x90\xaf\xd8\x07\t'
Во-первых, я не знаком с выходом. Это строка, которую я могу использовать для сравнения с другим файлом? Во-вторых, запуск этого скрипта в том же файле второй раз дает другой результат. Кажется, это связано с тем, сколько времени прошло между проходами. Я не совсем понимаю, что здесь происходит. Любая помощь будет большой.
попробуйте открыть и закрыть файл внутри 'checkF'. – Ben