所以我写了一个二进制文件,我正在尝试获取文件的校验和。我不确定我是否完全理解 hashlib 库,或者我是否完全理解如何实现它。这是我在 Python 2.7 中所拥有的:
def writefile(self, outputFile):
outputFile = open(outputFile, 'wb+')
for par in self.fileformat.pList:
if par.name.lower() in self.calculated.final.keys():
outputFile.write(self.calculated.final[par.name.lower()])
else:
outputFile.write(self.defaults.defaultValues[par.name.upper()])
outputFile.close()
with open(outputFile, 'rb') as fh:
m = hashlib.md5()
while True:
data = fh.read(8192)
if not data:
break
m.update(data)
print m.digest()
outputFile.close()
我不断得到的是:
TypeError: coercing to Unicode: need string or buffer, file found
任何帮助将不胜感激,因为我可能会朝着完全错误的方向前进。