J'essaie de créer une somme de contrôle de deux fichiers pour les comparer. C'est le script que j'utilise:Python checksum vérification de deux gros fichiers
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'
Premièrement, je ne connais pas la sortie. Est-ce la chaîne que je peux utiliser pour comparer à l'autre fichier? Deuxièmement, exécuter ce script sur le même fichier une deuxième fois donne un résultat différent. Cela semble être lié au temps qui s'est écoulé entre les passes. Je ne comprends pas complètement ce qui se passe ici. Toute aide est la bienvenue.
essayez d'ouvrir et de fermer le fichier dans 'checkF'. – Ben