MCPcopy Create free account
hub / github.com/divideconcept/fastnumpyio / load

Function load

fastnumpyio.py:19–30  ·  view source on GitHub ↗
(file)

Source from the content-addressed store, hash-verified

17 return bytes(array.dtype.byteorder.replace('=','<' if sys.byteorder == 'little' else '>')+array.dtype.kind,'utf-8')+array.dtype.itemsize.to_bytes(1,byteorder='little')+struct.pack(f'<B{size}I',size,*array.shape)+array.data
18
19def load(file):
20 if type(file) == str:
21 file=open(file,"rb")
22 header = file.read(128)
23 if not header:
24 return None
25 descr = str(header[19:25], 'utf-8').replace("'","").replace(" ","")
26 shape = tuple(int(num) for num in str(header[60:120], 'utf-8').replace(',)', ')').replace(', }', '').replace('(', '').replace(')', '').split(','))
27 datasize = numpy.lib.format.descr_to_dtype(descr).itemsize
28 for dimension in shape:
29 datasize *= dimension
30 return np.ndarray(shape, dtype=descr, buffer=file.read(datasize))
31
32def unpack(data):
33 dtype = str(data[:2],'utf-8')

Callers 1

fastnumpyio.pyFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected