2017-03-16 43 views
0

從 字符串返回Python值的函數的名稱是什麼?這將是解釋器用於 REPLRead函數。我 找了Python相當於read功能是在Lisp提供 , 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'幾乎是我正在尋找的。謝謝! –

回答