如何使用 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);