python读取dat文件,包含6个整数值(表头)和剩余的浮点数(内容)
import struct
# 定义结构体格式
header_format = 'iiiiii' # 'q' 表示长整数
float_format = 'f' # 'f' 表示浮点数
# 打开二进制文件
with open(filepath, 'rb') as file:
binary_data = file.read()
head_len = struct.calcsize(header_format)
body_len = (len(binary_data) - head_len) // struct.calcsize(float_format)
# 读取前 6 个长整数
header_data = struct.unpack(header_format, binary_data[:head_len])
# 读取剩余的浮点数
float_data = struct.unpack(f'{body_len}{float_format}', binary_data[head_len:])
print(header_data, float_data)