我使用協議緩衝區蟒蛇LIB發送數據協議消息的對象不得合成場的「任務」,但它是有一些問題,所以AttributeError的:分配在
Traceback (most recent call last):
File "test_message.py", line 17, in <module>
ptask.task = task
File "build\bdist.win32\egg\google\protobuf\internal\python_message.py", line
513, in setter
AttributeError: Assignment not allowed to composite field "_task" in protocol message object.
在src如下:
原型文件:
message task {
required int32 id = 1;
required string msg = 2;
}
message task_info {
required task task = 1;
}
Python代碼:
task = yacc.task()
task.id = 1000
task.msg = u"test"
ptask = yacc.task_info()
ptask.task = task # this line happen the runtime error