我正在尝试改进这个cython代码(有效)。请注意,我不想使用numpy.fromfile ..因为我希望能够解析不固定的二进制结构。
from libc.stdio cimport *
import struct
cpdef inline cimport_td(char* f, double[:] dates, double[:] tpx, int[:] tvo):
f_b = open(f.replace('\\','/'),'rb').read()
cdef int B = len(f_b), bb = 0, dd = 0
while bb < B:
dates[dd], tpx[dd], tvo[dd] = struct.unpack('ddi', f_b[bb:bb+20])
bb += 20
dd += 1
del f_b
return dates, tpx, tvo
还有什么比open / read和struct unpack更好吗?
谢谢。