md5.new(file(fileName ,'rb').read()).hexdigest()
И тут у меня вдруг, неожиданно выкинуло MemoryError. Причём совсем неожиданно, когда я уже как-бы отгонял всё на рабочих компах. Дома, где кол-во памяти не привышает 512 МБ, а размер файла больше 1024 МБ. Кстати хороший тест провёл, повезло.
Чтож, нашёл и обход:
fobj = file(fileName, 'rb') m = md5.new() while True: d = fobj.read(1024) if not d: break m.update(d) m.hexdigest()
Работает куда быстрее, чем первый, результат идентичный.
Deleted comment
June 8 2008, 19:08:18 UTC 3 years ago