我在同一名称空间中有2个thrift定义文件
file1.thrift
namespace some_name
some types
file2.thrift
namespace some_name
include "file1.thrift"
some types ....
做的时候
thrift --gen py -r -out folder file2.thrift
我希望获得在python代码中生成的file1.thrift中定义的类型。 但事实并非如此... 我在这里缺少什么?
谢谢
答案 0 :(得分:2)
Apache Thrift编译器会在没有警告的情况下覆盖现有文件。因为您使用相同的命名空间,所以在处理下一个IDL文件时会覆盖某些文件,如ttypes.py
和constants.py
。
答案 1 :(得分:0)
一种解决方法是为每个文件添加相应的子命名空间。
例如:
<强> file1.thrift 强>
namespace py some_name.file1
...
<强> file2.thrift 强>
namespace py some_name.file2
...
然后它不应该覆盖文件。我希望这对python来说是固定的,因为它适用于没有这种黑客的其他语言。