如何用pybind11调用c++中的python内置函数



我使用pybind11来调用c++代码中类似python内置函数的range。但我只找到了调用模块中函数的方法:

py::object os = py::module::import("os");
py::object makedirs = os.attr("makedirs");
makedirs("/tmp/path/to/somewhere");

但是像range这样的python内置函数不需要导入任何模块,那么我如何使用pybind11来调用c++代码中的range呢?

您可以从globalsdict中获取range

您还可以导入包含所有内置python函数的builtins模块。

在您的情况下,它将类似于:

py::object builtins = py::module_::import("builtins");
py::object range = builtins.attr("range");
range(0, 10);

最新更新