从C(++)访问python数据

时间:2012-10-17 21:33:54

标签: python c exchange-server

我编写了一些python函数来读取/写入简单的空间数据,如点,多边形,三角形曲面到Python中的简单数据结构。我知道有一些可能从 C 或C ++访问这些数据结构,如本文所示: Passing Python list to C++ vector using Boost.python

但是,我不是一个使用模板的有经验的程序员,我想首先以一种简单的方式开始 - 如果存在的话。因此,如果我有一个点对象列表(参见简单的类定义),我将如何从 C -Program中读取相应的变量来访问该列表。

class point3d():

def __init__(self, objectName, version, id=[], xyz=[], prop=[], unit=[], val=[]):
    self.id = id
    self.xyz = xyz
    self.prop = prop
    self.unit = unit
    self.val = val
    dim = len(self.xyz)
    self.objectName = objectName
    self.version = version
    if dim == 1:
        self.x = self.xyz[0]
    elif dim == 2:
        self.x = self.xyz[0]
        self.y = self.xyz[1]
    elif dim == 3:
        self.x = self.xyz[0]
        self.y = self.xyz[1]
        self.z = self.xyz[2]

def __del__(self):
    pass

def getObjectName(self):
    return self.objectName

def getVersion(self):
    return self.version

def getXYZ(self):
    return self.xyz

def getDim(self):
    return self.dim

def getProp(self):
    return self.prop

def getUnit(self):
    return self.unit

def getVal(self):
    return self.val

def getId(self):
    return self.id

1 个答案:

答案 0 :(得分:1)

如果你想从你的python程序中调用C / C ++函数,ctypes就可以了。