我使用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呢?
您可以从globals
dict中获取range
。
您还可以导入包含所有内置python函数的builtins
模块。
在您的情况下,它将类似于:
py::object builtins = py::module_::import("builtins");
py::object range = builtins.attr("range");
range(0, 10);