Python/PHP序列化TypeError: 'method'对象不支持项赋值
我想在Python 3中设置一个值。这个值是通过PHP的序列化方式反序列化过来的,我觉得它是一个字典,但我遇到了一个错误:
TypeError: 'method' object does not support item assignment.
我的代码:
def setValue(self, p, set):
a = self.getData()
a[p] = set
return self.updateData(a)
def getData (self):
self.mysql.execute('SELECT data FROM users WHERE id='+str(self.id))
result=self.mysql.fetchone()
return phpserialize.loads(result[0])
有人能帮忙吗?
相关问题:
1 个回答
0
你能打印出 isinstance(result, dict) 的结果吗?这个操作是用来检查 'method' 是否真的是一个字典对象。它可能是以某种不可变的方式初始化的。虽然我不太确定这个 'method' 对象是在哪里初始化的,但使用 results = copy.deepcopy(dictionary_object_here) 可以帮助你保留字典的结构。关于 'self' 所指的类的更多信息也会很有帮助。