두 파일의 체크섬을 만들어 비교하려고합니다. 이 스크립트는 내가 사용하고있는 스크립트입니다 :두 개의 큰 파일의 파이썬 체크섬 확인
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