Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Most efficient way of loading formatted binary files in Python

I have binary files no larger than 20Mb in size that have a header section and then a data section containing sequences of uchars. I have Numpy, SciPy, etc. and each library has different ways of loading in the data. Any suggestions for the most efficient methods I should use?

like image 604
Lin Avatar asked Mar 31 '09 22:03

Lin


2 Answers

Use the struct module, or possibly a custom module written in C if performance is critical.

like image 69
rmmh Avatar answered Sep 20 '22 13:09

rmmh


struct should work for the header section, while numpy's memmap would be efficient for the data section if you are going to manipulate it in numpy anyways. There's no need to stress out about being inconsistent here. Both methods are compatible, just use the right tool for each job.

like image 21
Theran Avatar answered Sep 21 '22 13:09

Theran