如何从python模块(boost.python)导入类?

时间:2016-05-31 14:03:22

标签: python c++ boost boost-python

我有一个python函数:

def log(text):
    print text

保存在Callbacks.py文件中。现在我想将它导入到c ++函数并执行。这很好用:

py_fun = import("Callbacks");
py_fun.attr("log")(text);

但我想让log函数成为类的一部分:

class Logger:    
    def __init__(self):
        self.last_read = -1

    def log(self, text):
        print text

如何将其导入C ++并创建Logger的实例?

1 个答案:

答案 0 :(得分:3)

正是你的想法:

py::object mod = py::import("Callbacks");
py::object logger = mod.attr("Logger")();