python的解析命令字符串的eval和ast.literal_eval

[python] 2024-05-13 圈点665

摘要:python的解析命令字符串的eval和ast.literal_eval。在文档中提到用ast.literal_eval比直接用eval更安全。个人认为的原因:eval可以解析任何命令,而ast.literal_eval是基于ast下的一个函数,一般解析一些变量。

python的解析命令字符串的eval和ast.literal_eval,


如果有一个字符串,需要把字符串当成命令行来使用,可以用eval(); 

如:

eval(2+2)


也可以是:

liststring = "[1,2,3]"

eval(liststring)


在文档中提到用ast.literal_eval比直接用eval更安全。个人认为的原因:eval可以解析任何命令,而ast.literal_eval是基于ast下的一个函数,一般解析一些变量。


eval  

感谢反馈,已提交成功,审核后即会显示