.bin二进制文件转换为.txt(.bin)文件

将.bin二进制文件转换为.txt(.bin)文件

可用于神经网络的权重偏置等.bin文件的读取

import struct
import re

#自己创建文件夹
src_filepath = "F:\\Vivado\\bin2dat\\testbin"  # 源文件文件夹路径
des_filepath = "F:\\Vivado\\bin2dat\\testtxt" #目标文件夹目录

if __name__ == "__main__":

    if not os.path.exists(src_filepath):
        print("目录不存在!!")

        os._exit(1)

    filenames = os.listdir(src_filepath)

    print("文件数目为%i" % len(filenames))

    count = 0
    width = 8
    for name in filenames:
        print(name)
        src_path = src_filepath+"\\"+name
        des_name = re.sub(".bin", '', name)#去除文件名的bin后缀
        # .txt .dat修改后缀即可
        des_path = des_filepath+"\\"+des_name + ".txt"

        src_file = open(src_path, 'rb')
        des_file = open(des_path, 'w')

        file_size = os.path.getsize(src_path)
        i = int(file_size / width)
        j = file_size % width
        if j == 0:
            k = 0
        else:
            k = 1
        total_length = i + k

        for i in range(total_length):
            data = src_file.read(4)
            # data = data[::-1]  # 大小端转换
            dat = struct.unpack("f", data)[0]
            res = str(dat)
            des_file.write(res)
            des_file.write('\n')
        src_file.close()
        des_file.close()
    print("转换结束")
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值