我有一个protobuf消息,消息有一个变量,名称是"传递",这是python中的关键字。
我收到如下错误:
"语法错误:语法无效"
我为"传递"参数:
msg.pass = 1
如果我不想重命名"通过"我该怎么办?到" xxpass"?谢谢。
答案 0 :(得分:4)
您可以使用setattr来说明:
这是getattr()的对应物。参数是一个对象,一个字符串和一个任意值。该字符串可以命名现有属性或新属性。如果对象允许,该函数会将值分配给属性。例如,setattr(x,' foobar',123)相当于x.foobar = 123。
所以在你的情况下,你可以使用:
setattr(msg, 'pass', 1)
请注意,要检索它,您需要getattr
的对应部分:
val = getattr(msg, 'pass')