Python / PHPSerialize TypeError:'method'对象不支持项目赋值

时间:2014-06-30 20:19:45

标签: php python serialization

我想在Python 3中设置一个值。它是通过PHPSerialize反序列化的,我相信它是一本字典,但我遇到了一个错误:

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 :(得分:0)

你能打印出isinstance(result, dict)的结果吗?这将检查'method'是否真的是一个字典对象。它很可能已被初始化为不可变的东西。虽然我不确定这个'方法'对象的初始化位置,但使用results = copy.deepcopy(dictionary_object_here)以保留字典的结构可能会有所帮助。关于“自我”所指的课程的其他信息会有所帮助