2017-03-16 5 views
0

文字列からPython値を返す関数の名前は何ですか?これは、 REPLのためにインタープリタが使用するRead関数です。私は はLispで利用可能 あるread機能のPythonの同等、 Prologなどを探しています..あなたはもちろんの はevalを使用することができますが、それは明らか 欠点を持っています。だから私は、以下の スニペットでevalを交換する権利/「安全」なものを探しています:(Python内から)Python用語を読み込む機能はありますか?

assert(eval('True')) 
assert(123 == eval(' 123 #comments')) 
assert('string' == eval('"string"')) 
assert([1,2,(3,4.0)] == eval('[1,2,(3,4)]')) 
assert({1:'spam', 2:'eggs'} == eval("{1: 'spam', 2: 'eggs'}")) 
+2

リテラルの場合は、 'ast.literal_eval(..)'を使用できます。 –

+0

優れています。 'ast.literal_eval'は私が探しているものです。ありがとう! –

答えて

関連する問題