2017-03-18 9 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を提供します。

関連する問題