使用Boost.Python从X导入Y

使用Boost.Python从X导入Y,python,c++,python-2.7,boost,boost-python,Python,C++,Python 2.7,Boost,Boost Python,我想从另一个文件夹导入一个类。在另一个python脚本中,我会这样做 派生的导入类 但是,我不知道如何使用Boost.Python实现这一点。库提供了import.hpp,它允许您执行类似的操作 object module = import("Base.Derived"); 但是python中的等价物是 import Base.Derived 最终目标是将一个实例化的python对象转换成一个基指针,因此最好使用Boost.python。理想情况下,代码应该是这样的 object modul

我想从另一个文件夹导入一个类。在另一个python脚本中,我会这样做

派生的导入类

但是,我不知道如何使用Boost.Python实现这一点。库提供了import.hpp,它允许您执行类似的操作

object module = import("Base.Derived");
但是python中的等价物是

import Base.Derived
最终目标是将一个实例化的python对象转换成一个基指针,因此最好使用Boost.python。理想情况下,代码应该是这样的

object module = some form of "from Base.Derived import Class"

// Get a C++ pointer of the derived python class.
object derived = module.attr("Class")();
Card* card = extract< Card* >(derived);

虚线表示法中的每个名称都是其父级的属性。您的最后一段代码几乎是正确的,尽管我怀疑名称有误:

boost::python::object Class = boost::python::import("Base.Derived").attr("Class");
boost::python::object class_instance = Class();