我需要在python中读取一个二进制文件,对此我已经有一个Matlab代码。我正在逐行将matlab代码转换为python,但停留在此位置,我从二进制文件读取文本数据,但输出的格式不是可读的。在python中寻找Matlab的等效代码
尝试使用python中的struct模块解压缩,但无法立即将输出字符串读入列表中
Matlab代码:
var = char(fread(fid,100,'char'))';
我尝试过的Python代码:
tmp = f.read(100)
abc, = struct.unpack('100c',tmp)
但是'abc'的值不是常规文本字符串,而是类似于b'/ val1 val2 val3 val4'
我需要将val1,val2,val3,val4作为字符串放入列表中
答案 0 :(得分:0)
我认为使用numpy函数fromfile
确实可以满足您的需求。
import numpy as np
data = np.fromfile(filename, dtype=np.uint8, count=100,sep='')
count
告诉您要读取多少字节,空的sep
将文件视为二进制文件。有关详细信息,请参见the documentation。