2016-02-27 22 views
0

我使用repr()ast.literal_eval()作为json.dumps()json.loads()的替代方法。pyson,格式不正确的节点或带literal_eval的字符串

一个简单ast.literal_eval(repr(m)),其中m是一个纯dict()充满str(),别人dict()或仅set()对象,失败,出现错误:

ValueError: malformed node or string: <_ast.Call object at 0x7fe3eae74240> 

如何调试这一点,并获得错误的详细信息?

回答

0

set()是完全有效的ast.literal_eval()条目,除非它们是空的!

set()将被表示为一个构造中,由于没有专用的文字({}是一个空dict()),并且构造函数不能进行评价。

我会尝试修改这里找到的钩子:https://gist.github.com/philipbjorge/5166022