ast模块中的literal_eval方法可以把数据还原成它本身或者是能够转化成的数据类型。同时在转换时会判断需要计算的内容计算后是不是合法的python类型,如果是则进行运算,否则就不进行运算,比较安全
import ast
if __name__ == '__main__':
test_ast = {"b": '["name", "age"]'}
change_string = ast.literal_eval(test_ast.get('b'))
print(change_string)
输出:
"C:\Program Files\Python39\python.exe" E:/test.py
['name', 'age']
Process finished with exit code 0