2024-09-25 02:26:54 发布
网友
所以我在python中有一个对象模型。我的应用程序处于开发阶段,所以目前我可以允许不稳定的序列化格式。我想要在Python代码中注释对象层次结构(如果需要的话),或者不加任何注释,允许一些Protobuf包装器动态地完成这一切。在
在普通的proto文件中描述每个对象并保持booth层次结构的最新性将是一件非常痛苦的事情。在
因此,我想知道是否有一种方法可以使用python中的协议缓冲区来注释\依赖于python代码中的反射(就像它们在protobuf-net中那样做)?在
我也有类似的问题。我希望能够在数据库中存储对象,同时使用protobuf序列化它们。在
我使用的方法是在SQLAlchemy中定义对象,然后使用SQLAlchemy反射(inspect方法)编写*.proto文件生成器实用程序。在
然后必须正常地调用protoc来获取SQLAlchemy对象中定义的protobuf类。因此,在SQLAlchemy对象定义的每次更改之后,我都必须调用脚本来构建proto文件并调用protoc。这工作得出奇地好。在
我考虑的另一个选择是设计对象定义格式和生成器,以生成SQLAlchemy对象和protobuf对象。我决定反对它,因为这个对象定义格式应该能够包含构建SQLAlchemy对象(索引、约束、触发器)的所有信息,这就像重新设计SQLAlchemy已经很好地完成的工作一样,但是您可能不需要如此丰富的对象定义,这种方法可能非常适合您。在
我从《实用程序员》一书中获得了开发自己的对象定义的想法,在这本书中您可以阅读到更多关于它的内容。在
我也有类似的问题。我希望能够在数据库中存储对象,同时使用protobuf序列化它们。在
我使用的方法是在SQLAlchemy中定义对象,然后使用SQLAlchemy反射(inspect方法)编写*.proto文件生成器实用程序。在
然后必须正常地调用protoc来获取SQLAlchemy对象中定义的protobuf类。因此,在SQLAlchemy对象定义的每次更改之后,我都必须调用脚本来构建proto文件并调用protoc。这工作得出奇地好。在
我考虑的另一个选择是设计对象定义格式和生成器,以生成SQLAlchemy对象和protobuf对象。我决定反对它,因为这个对象定义格式应该能够包含构建SQLAlchemy对象(索引、约束、触发器)的所有信息,这就像重新设计SQLAlchemy已经很好地完成的工作一样,但是您可能不需要如此丰富的对象定义,这种方法可能非常适合您。在
我从《实用程序员》一书中获得了开发自己的对象定义的想法,在这本书中您可以阅读到更多关于它的内容。在
相关问题 更多 >
编程相关推荐