从 X 导入 Y 与 Boost.Python
from X import Y with Boost.Python
我想从另一个文件夹导入一个类。在另一个 python 脚本中我会做
from Base.Derived import Class
但是,我不知道如何使用Boost.Python执行此操作。该库提供了import.hhpp,可以让你做这样的事情
object module = import("Base.Derived");
但 python 中的等价物是
import Base.Derived
最终目标是将实例化的python对象放入Base指针中,因此最好使用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();
相关文章:
- 我应该包含什么来制作 boost.python 扩展?
- C++ 和 Boost.Python - 如何将变量公开给 python 并在循环中更新它?
- 如何将来自 Boost.Python 的map_indexing_suite与自定义而不是标准对象一起使用?
- Boost Python Numpy - 要初始化的未定义引用
- Boost.Python :C++模板类型匹配的嵌套命名空间
- Boost.Python 列出了所有公开的类和属性
- Boost.Python 在静态库方面失败
- 在cpp中使用boost-python的python代码是否进行动态内存分配
- Boost.Python 和导入 dll,"The specified module could not be found"
- 无法将__str__特殊方法与Boost::Python接口
- 编译时出现Boost.python链接错误
- 使用 Boost/Python 的未定义符号 - 复杂
- Boost.Python 和C++导入到 Python 3 时编译库错误
- 两个并发的 Python 进程可以在 Boost Python 中运行吗?
- 通过 Boost Python 将 Python 函数转换为 C++,用作回调
- 编译在 Python 代码内部调用的 C++ 代码时出错,使用 Boost Python
- Boost.Python.ArgumentError: World.set(World, str) 中的 Python
- 使用 boost python 从 c++ 为 python 中的类成员变量赋值
- Boost Python 不断链接 Python27 库
- 使用 python3 为 msvc 构建 boost python - 链接器错误