解包功能,把.bin文件内容,根据昨天打包时生成的mata文件内容进行切片,写到对应文件中

这篇博客介绍如何利用Python读取meta文件中的文件大小和名称信息,对.bin文件进行切片,并将内容写入对应文件,以重现昨天打包的文件结构。
摘要由CSDN通过智能技术生成
'''解包功能
读取meta.txt里的信息,把data.bin里面的文件全部原样解压到dump目录。
解压后的dump目录应该和src目录一模一样。'''
import os
import json
#定义解包函数
def unpack(metafile_list,binfile):
    extent = 0
    for dic in metafile_list:#把列表里的字典取出来
        #print(dic)
        size = dic['size']#取到文件大小
        file_content = binfile[extent:extent + size]#根据文件里size大小对data.bin进行切片,得到每个文件的内容
        #print(file_content)
        extent = extent + size
        #print(extent)
        file_name = dic['name']#获取文件名,这里取到的文件名包含了二级目录
        #print(file_name)
        path = os.path.join('E:\python\day3\dump',file_name)#获取所有文件的路径
        #print(path)
        folder = os.path.split(path)#分离文件夹及文件名
        folder_path = folder[0]#所有文件夹路径
        file_real_name = folder[1]#所有文件名
        #print(folder_path)
        #print(file_real_name)
        for i in folder_path:#遍历所有文件夹
            if os.path.exists(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值