2016-05-31 153 views
1

我有一个Python函数:如何从python模块(boost.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一个实例?

回答

2

正是你的思维方式:

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

谢谢!有用。我知道我错过了一些东西。我错过了括号。 – Pawel