我有一个已经字符串化的对象列表:
u'[<object: objstuff1, objstuff2>, <object: objstuff1, objstuff2>]'
我想将其转换回列表:
[<object: objstuff1, objstuff2>, <object: objstuff1, objstuff2>]
我尝试使用ast.literal_eval()
,但不幸的是,如果元素是对象,它似乎不起作用,我得到SyntaxError
。
有什么方法可以将对象列表的字符串表示重新转换回列表吗?
答案 0 :(得分:2)
您需要查看pickle
模块才能执行此操作。
基本上,使用pickle.dumps
转储对象,然后使用pickle.loads
加载它们。
ast.literal_eval
显然不起作用,因为有很多与对象相关的信息(如属性和值),这些信息根本没有在该字符串中捕获。另请注意,您将能够仅复活腌制数据,如果您现在只有那些字符串表示,您将无法通过它们创建对象,因为信息丢失。