Olaf Hartmann added the comment: Answering my own question, here is a workaround, that also produces reasonable results for the original test case. Basically just inserting an empty struct:
import ctypes class Empty(ctypes.Structure): _fields_ = [] class Struct(ctypes.Structure): _fields_ = [ ("uint8_0", ctypes.c_uint8, 8), ("uint8_1", ctypes.c_uint8, 8), ("_ignore", Empty), ("uint16_0", ctypes.c_uint16, 1), ("uint16_1", ctypes.c_uint16, 15), ] for f in Struct._fields_: print f[0], getattr(Struct, f[0]) > python bitfield.py uint8_0 <Field type=c_ubyte, ofs=0:0, bits=8> uint8_1 <Field type=c_ubyte, ofs=1:0, bits=8> _ignore <Field type=Empty, ofs=2, size=0> uint16_0 <Field type=c_ushort, ofs=2:0, bits=1> uint16_1 <Field type=c_ushort, ofs=2:1, bits=15> ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue15119> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com