我认为您希望for循环连续调用
f.read(128)。可以使用 iter() 和 functools.partial() 来完成:
import hashlibfrom functools import partialdef md5sum(filename): with open(filename, mode='rb') as f: d = hashlib.md5() for buf in iter(partial(f.read, 128), b''): d.update(buf) return d.hexdigest()print(md5sum('utils.py'))


