鱼C论坛

 找回密码
 立即注册
查看: 3442|回复: 11

关于Python的二进制文件快速转换

[复制链接]
发表于 2023-1-5 10:32:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我现在知道的办法是先把二进制文件读出来,然后再通过struct.unpack('',file)循环转换。

有没有比较快的办法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-1-5 16:20:55 | 显示全部楼层
本帖最后由 不爱小甲鱼 于 2023-1-5 16:24 编辑

f1 = open(filepath, 'rb')
file_data = f1.read()
f_len = len(file_data)
f1.close()

data_len = int(f_len/2)
data = []
for i in range(data_len):
    fValue, = struct.unpack('e',file_data[i*2:i*2+2])
    data.append(fValue)

这个是我的代码,运行的比较慢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-5 10:38:53 | 显示全部楼层
二进制文件 要咋转   转文本????
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-5 11:03:38 | 显示全部楼层
wp231957 发表于 2023-1-5 10:38
二进制文件 要咋转   转文本????

浮点数据类型,两个字节转一个数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-5 15:10:17 | 显示全部楼层
循环起来是真的慢,继续寻求快捷的方法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-5 16:22:49 | 显示全部楼层
不爱小甲鱼 发表于 2023-1-5 15:10
循环起来是真的慢,继续寻求快捷的方法

其实你的需求我都没明白,不知道其他人明白没
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-5 16:31:58 | 显示全部楼层
不爱小甲鱼 发表于 2023-1-5 16:20
f1 = open(filepath, 'rb')
file_data = f1.read()
f_len = len(file_data)

会不会是因为你的数据量大,所以才慢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-5 16:33:08 | 显示全部楼层
isdkz 发表于 2023-1-5 16:22
其实你的需求我都没明白,不知道其他人明白没


我有一个二进制数据文件(几百M到几G)需要处理成十进制的文件然后另存。现在觉得我自己的方法运行起来有点慢,想学习学习看有没有比较好的方法,提高效率。我觉得目前的方法matlab处理起来都比这个快。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-5 16:34:21 | 显示全部楼层
isdkz 发表于 2023-1-5 16:31
会不会是因为你的数据量大,所以才慢?

有可能,所以想找快捷的方法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-5 16:36:15 | 显示全部楼层
不爱小甲鱼 发表于 2023-1-5 16:33
我有一个二进制数据文件(几百M到几G)需要处理成十进制的文件然后另存。现在觉得我自己的方法运行起来 ...

存在计算机里面的文件都是二进制存储的呀,什么处理成十进制?你的意思是要存成文本文件吧?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-5 16:38:06 | 显示全部楼层
isdkz 发表于 2023-1-5 16:36
存在计算机里面的文件都是二进制存储的呀,什么处理成十进制?你的意思是要存成文本文件吧?

对,要做后续的处理,画图,计算,做报告啥的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-5 16:40:46 | 显示全部楼层
不爱小甲鱼 发表于 2023-1-5 16:33
我有一个二进制数据文件(几百M到几G)需要处理成十进制的文件然后另存。现在觉得我自己的方法运行起来 ...

谁处理几个G的文件  也不会一闪而过
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-25 01:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表