Controlling buffer alignment in file.read()

Dan Stromberg drsalists at gmail.com
Tue Mar 18 21:01:59 EDT 2014


On Tue, Mar 18, 2014 at 1:23 PM, Haralanov, Mitko
<mitko.haralanov at intel.com> wrote:
> Hi all,
>
> I am using Python to read from a binary device file which requires that all read sizes are in 8byte multiples and the user's buffer is 8byte aligned.
>
> I am currently using a file object and the file.read() method. However, the issue is that the file.read() method allocates the buffer passed to C function under the covers and, therefore, the alignment is arbitrary.
>
> Is there a way that I can get file.read() to use an 8byte aligned buffer?

This is a lot like what my odirect project does:
http://stromberg.dnsalias.org/~strombrg/odirect/

It does buffer alignment, because O_DIRECT requires buffer alignment.
It's a Python-callable SWIG wrapper for some C code.



More information about the Python-list mailing list