2016-02-27 37 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