在Python2.7中使用动态数组创建ctypes通用结构

在Python2.7中使用动态数组创建ctypes通用结构,python,python-2.7,ctypes,Python,Python 2.7,Ctypes,我正在尝试创建一个具有动态数组行为的ctypes通用结构。我使用以下答案作为基础: 当我独立实例化该类时,它可以工作,但当我将该类用作另一个类的字段时,from\u buffer\u copy不会调用\uuuuuu new\uuuu类方法,因此我的类不会创建数组 代码: 结果: <__main__.c_ubyte_Array_2 object at 0x00000000029EB6C8> Traceback (most recent call last): File "c:/Te

我正在尝试创建一个具有动态数组行为的ctypes通用结构。我使用以下答案作为基础:

当我独立实例化该类时,它可以工作,但当我将该类用作另一个类的字段时,from\u buffer\u copy不会调用
\uuuuuu new\uuuu
类方法,因此我的类不会创建数组

代码:

结果:

<__main__.c_ubyte_Array_2 object at 0x00000000029EB6C8>
Traceback (most recent call last):
  File "c:/Temp/so.py", line 67, in <module>
    assert(b.arr.data[0] == 0x33)
AttributeError: 'DynamicLengthArray' object has no attribute 'data'

回溯(最近一次呼叫最后一次):
文件“c:/Temp/so.py”,第67行,在
断言(b.arr.data[0]==0x33)
AttributeError:“DynamicLengthArray”对象没有属性“data”
如何通过从缓冲区调用
\u copy
来触发
\uuuu new\uuuuu
方法

<__main__.c_ubyte_Array_2 object at 0x00000000029EB6C8>
Traceback (most recent call last):
  File "c:/Temp/so.py", line 67, in <module>
    assert(b.arr.data[0] == 0x33)
AttributeError: 'DynamicLengthArray' object has no attribute 'data'