Python/PHP序列化TypeError: 'method'对象不支持项赋值

1 投票
1 回答
2848 浏览
提问于 2025-04-18 11:38

我想在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' 所指的类的更多信息也会很有帮助。

撰写回答