def read_header(dispout):
""" Read header (first 3 words) from disp.dat
:param dispout: disp.dat filename
:returns: header (num_nodes, num_dims, num_timesteps)
"""
import struct
word_size = 4 # bytes
if dispout.endswith('.xz'):
import lzma
d = lzma.open(dispout, 'rb')
else:
d = open(dispout, 'rb')
num_nodes = struct.unpack('f', d.read(word_size))
num_dims = struct.unpack('f', d.read(word_size))
num_timesteps = struct.unpack('f', d.read(word_size))
header = {'num_nodes': int(num_nodes[0]),
'num_dims': int(num_dims[0]),
'num_timesteps': int(num_timesteps[0])}
return header
评论列表
文章目录