繁体   English   中英

将ctypes字节数组转换为浮点数的Python列表

[英]Convert ctypes byte array to Python list of floating point numbers

我已经分配了一个数组,并使用Python ctypes模块进行了转换:

    dataC = ctypes.cast(crt.malloc(size), ctypes.POINTER(ctypes.c_ubyte))

为了从C库获取字节数据:

    someClib.getData(handle, dataC)

现在,该数组实际上是C浮点类型的数组。 如何将其转换为浮点数的Python列表?

您可以将指针转换为浮点数:

floatPtr = ctypes.cast(dataC, ctypes.POINTER(ctypes.c_float))

然后使用列表推导(例如)提取浮点数:

floatList = [floatPtr[i] for i in range(arrayLength)]

现在,只有您知道arrayLength的值,但对我来说似乎等于size / ctypes.sizeof(ctypes.c_float)似乎是合理的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM