用Python校验下载文件的完整性(md5),游戏之类的大型文件

本文介绍了如何利用Python的MD5校验大型文件的完整性,特别是在下载大型游戏等文件时,通过MD5值可以检查文件是否因网络传输出错而损坏,避免重新下载的困扰。虽然尚未实现进度条功能,但目前的代码已经能够完成基本的文件完整性验证。
摘要由CSDN通过智能技术生成

对于大的文件,比如大型游戏,下载一般会带有md5值在下载包里面,md5是一种加密手段,在这里可以用来验证完整性,因为在下载大型文件的时候某个部分可能网络传输会出现错误,一个小文件坏了可能会导致游戏玩到中间出意外的bug或者干脆打不开游戏,重新下载要花费很多时间,所以还是值得下好先验证一下的。直接上代码



import hashlib
import os


f_path = input('File path: ')
SETUP_FILE = [file for file in os.listdir(f_path) if os.path.splitext(file)[1] == '.bin' or
              (os.path.splitext(file)[1] == '.exe' and '%' not in os.path.splitext(file)[0])]
MD5_FILE = [file for file in os.listdir(f_path) if os.path.splitext(file)[1] == '.md5']

print('所有安装文件:', SETUP_FILE)
print('MD5储存文件:', MD5_FILE)


def get_correct_md5():
    all_md5 = []

    for file in MD5_FILE:
        with open(os.path.join(f_path, file)) as f:
            data = f.readlines()
        all_md5.extend(data)

    return all_md5

def get_file_md5(file):
    full_file_path = os.path.join(f_
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值