python获取文件md5

每个公司对上线的业务要求都不一样,但对一些重要的文件,在线上覆盖前要全面检查文件的md5,所以这就要求获得更新前文件的md5值,然后跟研发提供的做比较,如果一致才更新,如果发现不对,就停止更新,当然逻辑都写在脚本里就可以了,因为每个公司线上服的更新逻辑都不一样,这块内容我们不做深入探讨,我们今天主要看看如何获得研发的更新文件的md5值,基本思路是这样,首先需要定义一个函数获得研发给的每个文件绝对路径,然后再定义一个函数用来返回md5值,在主函数中对每个文件调用生成md5值得函数得到md5值然后写入文件中,脚本思路就介绍到这里,我们来看代码:

脚本解释,最前开始导入需要的模块,之前python还单独有个md5模块,现在基本不用了,都用hashlib了,这个功能更为强大,先定义了一个getmd5()的函数,接收一个文件当做参数,hashlib.md5()生成hash对象,然后调用update()方法将字符串计算出md5值,接下来定义了all_files()函数,这个函数接收一个目录,然后得到文件的绝对路径,加入到列表中,返回。

在主函数中,打开一个文件md5file.txt来存储获得的文件名和对应的md5值,循环flist列表,将文件传入getmd5()函数,获得文件和md5数据,写入文件,最后关闭文件,这篇就到这里,如有问题,请各位留言吧。