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

编辑:先生 日期:2017-06-30 浏览量:258 我要收藏

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

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,

属分类: python

0 0
留言:
登录  注册
三思而后言,谢谢。