[英]Python Ctypes: Convert returned C array to python list, WITHOUT numpy
我正在使用 Python Ctypes 来访问一些 C 库。
我连接的一个函数返回const *double
,它实际上是一个双精度数组。
当我在 Python 中得到结果时,如何将此数组转换为 Python 列表?
C函数的签名:
const double *getWeights();
假设它返回一个包含 0.13 和 0.12 的数组。 我想得到一个 python 列表: [0.13, 0.12]
我成功地使用指针解决了它
解决方案:
将函数返回类型定义为POINTER(double_c)
:
getWeights_function_handler.restype = POINTER(double_c)
当函数返回时,您可以使用[]
运算符访问 C 数组元素(与 C 中使用的运算符相同):
weights = getWeights_function_handler()
mylist = [weights[i] for i in xrange(ARRAY_SIZE_I_KNOW_IN_ADVANCE)]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.