Python eval()函数和ast.literal_eval()的区别你知道吗
作者:jq_98 时间:2022-06-26 14:37:55
eval()函数可以将字符串型的list、tuple、dict等等转换为原有的数据类型
即使用eval可以实现从元组,列表,字典型的字符串到元组,列表,字典的转化,此外,eval还可以对字符串型的输入直接计算
从上面来看,eval功能可谓是非常强大,即可以做string与list、tuple、dict之间的类型转换,还可以做计算器使用,但是eval强大的背后有着巨大的安全隐患,比如,用户恶意输入下面的字符串,是十分危险的
所以这里因为安全处理方式 ast.literal_eval(), 该函数会判断需要计算的内容计算后是不是合法的python类型,如果是则进行运算,否则就不进行运算比如上面的计算操作和危险操作,使用ast.literal_eval()都会拒绝执行,报错
ast.literal_eval()只会执行合法的Python类型,从而大大降低系统的风险性
来源:https://blog.csdn.net/jq_98/article/details/122737830
标签:Python,eval(),ast.literal,eval(),函数
0
投稿
猜你喜欢
深入了解Python的多线程基础
2021-12-07 18:50:50
asp和php下textarea提交大量数据发生丢失的解决方法
2023-10-26 09:01:43
pycharm 中mark directory as exclude的用法详解
2021-02-27 05:24:07
详解Python各大聊天系统的屏蔽脏话功能原理
2021-02-23 13:53:44
ASP处理多关键词查询实例代码
2008-11-21 17:36:00
Python元素集合的列表切片
2023-08-08 23:08:57
详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法
2021-04-13 08:17:01
Python中如何优雅的合并两个字典(dict)方法示例
2023-08-02 16:15:25
python光学仿真学习wxpython创建手速测试程序
2023-12-06 20:57:28
简单介绍Python中的struct模块
2023-09-22 16:27:01
python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能
2021-12-29 06:55:13
Python Pandas中缺失值NaN的判断,删除及替换
2021-08-27 22:10:23
Python判断变量是否为Json格式的字符串示例
2023-11-12 04:48:29
pandas DataFrame的修改方法(值、列、索引)
2021-10-17 11:35:10
一文教会你用Python获取网页指定内容
2023-01-01 09:15:05
Python 变量类型详解
2022-06-23 00:44:55
三个520专属Python表白代码分享
2023-09-19 21:20:06
oracle数据库sql的优化总结
2024-01-23 16:05:11
tensorflow2.0如何实现cnn的图像识别
2022-05-01 21:19:58
Mysql视图和触发器使用过程
2024-01-15 22:15:46