Du willst die Summe über den Inhalt der Datei berechnen, also musst Du den einlesen und an die Funktion übergeben. Bei grossen Dateien, zum Beispiel CD-Images, sollte man das nicht an einem Stück machen, sondern die Datei Häppchenweise einlesen und die update() Methode damit aufrufen.
1 from hashlib import md5
2
3 BLOCKSIZE = 8192
4
5 def sum_file(fileobj):
6 summer = md5()
7 while True:
8 data = fileobj.read(BLOCKSIZE)
9 if not data:
10 break
11 summer.update(data)
12 return summer.hexdigest()
13
14 f = open("test.py")
15 print sum_file(f)
16 f.close()
Entnommen aus dem Beitrag: http://www.python-forum.de/viewtopic.php?p=18974#18974