2017-03-18 52 views
2

我有我的自定義類代表一個對象。 我想使該對象與「ast.literal_eval()」兼容「如何使python類「ast.literal_eval()」兼容?

我該怎麼做?如有必要,我可以將必要的方法/代碼添加到我的課程中。

+3

'ast.literal_eval'評估文字。 Python不支持用戶定義的文字。 Ergo,你不能使用'ast.literal_eval'來產生一個用戶定義的類型。如果可以的話,'ast.literal_eval'的所有安全保證將會從窗口中消失。 – ShadowRanger

回答

3

你不能。你需要從頭開始重新實現它,並在其中添加對你的類的支持。

+0

我的問題是我該如何將支持添加到我的課程? – sh0731

+0

你不能。 'ast.literal_eval()'選擇它接受的內容。 –

+0

哦,這是一個無賴。謝謝! – sh0731

1

因爲你用Pyro標記了你的問題,我假設你在使用Pyro的遠程方法調用時在序列化你自己的類的上下文中提出這個問題。 Pyro提供a mechanism to do that