[英]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.