Bit fields in python?

Stefan Behnel stefan_ml at behnel.de
Tue Sep 7 02:55:54 EDT 2010


Kwan Lai Cheng, 07.09.2010 06:06:
> I'm trying to rewrite a c program in python&  encountered several problems. I have some data structures in my c program like below:
>
> typedef struct
> {
>      unsigned short size;
>
>      unsigned short reserved:8;
>      unsigned short var_a1:2;
>      unsigned short var_a2:2;
>      unsigned short var_a3:2;
>      unsigned short var_a4:2;
>
>      unsigned int var_a5;
> }structa;
>
>   typedef struct
> {
>      unsigned short size;
>
>      unsigned char reserved:4;
>      unsigned char var_b1:1;
>      unsigned char var_b2:1;
>      unsigned char var_b3:1;
>      unsigned char var_b4:1;
>
>      structa var_structa;
> }structb;
>
> I tried to code the above in python but only got this far:
>
> class StructA(object):
>      def __init__(self, size=0)
>      self.size = size
>
> class StructB(object):
>      def __init__(self, size=0)
>
> Any equivalent for c data structures&  bit fields in python?

If you can tell us what these structs are being used for in the original C 
code, we might be able to point you to a suitable way to implement the same 
thing efficiently in Python.

Stefan




More information about the Python-list mailing list