2016-05-31 196 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