.bin 文件的 Python Big-Endian 转换

我正在尝试将 Matlab 代码转换为二进制文件的 Python。请原谅我是这门语言的新手。


Matlab:


fileID = fopen('file_name.bin','r');

DC = fread(fileID,'single','b');

Python:


import numpy as np

with open('Duty_Cycle.bin','rb') as fid:

    data_array = np.fromfile(fid, np.float32, dtype = '>u4')

print(data_array)

结果:


TypeError: argument for fromfile() given by name ('dtype') and position (2)

我该如何解决这个错误?


犯罪嫌疑人X
浏览 122回答 1
1回答

慕桂英3389331

的签名fromfile是fromfile(file, dtype=float, count=-1, sep='', offset=0)通过指定第二个位置参数np.float32和关键字 argument dtype='>u4',您两次给出了相同的参数,因此出现了错误。文档不是很清楚,但您可以只使用字符串规范来指定类型和字节顺序。data_array = np.fromfile(fid, dtype='>u4')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python