将Python字典转换为C类结构

时间:2015-05-13 14:16:55

标签: python c dictionary python-c-api

我是Python和C的新手,我想知道如何将字典元素放入类似C的结构(struct)。

例如,这是我的结构:

.no-space-break{
    white-space:nowrap;
    text-overflow:ellipsis;
    overflow: hidden;
  }

这是我的Python词典:

typedef struct
{
    int dim;
    float *Tab1;
    float *Tab2;
}  
Tableaux;

这是我的界面功能:

Tableaux = {}
Tableaux["dim"]=None
Tableaux["Tab1"]=[]
Tableaux["Tab2"]=[]

1 个答案:

答案 0 :(得分:2)

您可以使用PyDict_GetItem()

PyObject* pytab1 = PyDict_GetItemString(dict, "Tab1");

由于结果是一个列表,您可以使用these调用来检查它

This documentation解释了如何在C和Python之间转换原始类型。