您的位置:首页 > 编程语言 > Python开发

Python函数还能做这种事情?神奇的eval()。

2021-01-04 22:48 459 查看


Paradoxical在敲代码的时候想把字符串转化为字典,因为用str()能将字典转化为字符串,所以自然而然就想用dict()把字符串转化为字典,但是结果却和想象的不一样。


那么按照提示的方式试一下呢?


emmmm……和期望的不一样,本来是想把整个字符串转化为字典的,而不是把字符串作为值放入字典。只能去求助小哥哥了。


我:小哥哥~我想要把字符串转化为字典,要怎么做鸭?


惨绿青年:你试下用eval()


于是Paradoxical尝试了一下。





我:woo~真的可以诶!


惨绿青年:eval() 用来执行一个字符串表达式,并返回表达式的值。eval()不仅能用来将字符串转为字典,eval()还可以做很多事情。


惨绿青年:图中eval可以用来计算表达式、调用函数、将字符串转化为列表。


惨绿青年:但是eval也有危险的地方,因为它可以利用系统命令,做出删除文件等操作。


惨绿青年:上图的eval()中的字符串内容相当于输入了“__import__('os').system('dir')”,导入了os模块然后用system方法去执行dir命令。dir命令的作用是列出当前目录的子文件。


我:明白了,只要小心使用就可以了吧~


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: