在python中,一般都是使用eval,不过这个表达式不够安全。今天在stackoverflow上看到有人说ast这个模块
查了一下
ast.literal_eval(node_or_string)
Safely evaluate an expression node or a Unicode or Latin-1 encoded string containing a Python expression. The string or node provided may only consist of the following Python literal structures: strings, numbers, tuples, lists, dicts, booleans, and None.
This can be used for safely evaluating strings containing Python expressions from untrusted sources without the need to parse the values oneself.
import ast
userAnser = ast.literal_eval([1,2,3,4])