如何使用 pybind 访问结构的属性?
How to acces attributes of a structure using pybind?
我正在使用 pybind 包装一些 C++ 函数,然后在 Python 中使用它。我需要一些结构,但我不知道如何在 Python 中访问它的属性。我的结构没有方法只有属性所以我认为绑定是这样的(也许这也是错误的):
py::class_<Struct_Sample>(m, "Struct_Sample");
这是结构:
typedef struct Struct_Sample
{
float time_ms;
float frequency_mhz;
} Struct_Sample;
如何访问 python 中的属性?
根据 the docs 你可以使用 def_readwrite
:
py::class_<Struct_Sample>(m, "Struct_Sample")
.def_readwrite("time_ms", &Struct_Sample::time_ms);
我正在使用 pybind 包装一些 C++ 函数,然后在 Python 中使用它。我需要一些结构,但我不知道如何在 Python 中访问它的属性。我的结构没有方法只有属性所以我认为绑定是这样的(也许这也是错误的):
py::class_<Struct_Sample>(m, "Struct_Sample");
这是结构:
typedef struct Struct_Sample
{
float time_ms;
float frequency_mhz;
} Struct_Sample;
如何访问 python 中的属性?
根据 the docs 你可以使用 def_readwrite
:
py::class_<Struct_Sample>(m, "Struct_Sample")
.def_readwrite("time_ms", &Struct_Sample::time_ms);