2024-04-26 05:06:15 发布
网友
我对thrift代码生成器或python有问题。在
代码示例(由thrift生成):
class SomeClass: spec = ( (1, (SomeClass, SomeClass.spec)), )
错误消息:
所以我在thrift jira找到了bug(自2014年至今仍在营业)。建议的解决方案相当糟糕。在
我能避免这个问题吗?在
在*.thrift或*.py文件中的最佳解决方案中,可以在生成之前或之后手动更改。在
看来,python生成的代码包含无用字段
SomeClass.spec
所以我就把它删掉。在
我将其与java生成的代码进行了比较。在
如果有人使用我的解决方案,别忘了更改生成的方法,那就是检查,当你的规范!=无
尝试用下面的代码片段替换代码,注意:它使用的是列表而不是元组,因为元组是不可变的。在
class SomeClass: spec = None @classmethod def init(cls): cls.spec = [] cls.spec.append( [ 1 , (cls, cls.spec) ] ) SomeClass.init() print( SomeClass.spec ) # [[1, (<class SomeClass>, [...])]]
另一个没有类方法的解决方案
看来,python生成的代码包含无用字段
所以我就把它删掉。在
我将其与java生成的代码进行了比较。在
如果有人使用我的解决方案,别忘了更改生成的方法,那就是检查,当你的规范!=无
尝试用下面的代码片段替换代码,注意:它使用的是列表而不是元组,因为元组是不可变的。在
另一个没有类方法的解决方案
^{pr2}$相关问题 更多 >
编程相关推荐