前言

众所周知在Python中,如果要将字符串型的list,tuple,dict转变成原有的类型呢? 这个时候你自然会想到eval. eval函数在python中做数据类型的转换还是很有用的。它的作用就是把数据还原成它本身或者是能够转化成的数据类型.下面来看看示例代码:
string <==> list
string <==> tuple
string <==> dict
也就是说,使用eval可以实现从元祖,列表,字典型的字符串到元祖,列表,字典的转换,此外,eval还可以对字符
串型的输入直接计算。比如,她会将'1+1'的计算串直接计算出结果。
从上面来看,eval功能可谓非常强大,即可以做string与list,tuple,dict之间的类型转换,还可以做计算器使用!更有甚者,可以对她能解析的字符串都做处理,而不顾忌可能带来的后果!所以说eval强大的背后,是巨大的安全隐患!!! 比如说,用户恶意输入下面的字符串
open(r'D://filename.txt', 'r').read()
__import__('os').system('dir')
__import__('os').system('rm -rf /etc/*')
那么eval就会不管三七二十一,显示你电脑目录结构,读取文件,删除文件.....如果是格盘等更严重的操作,她也会照做不误!!!
所以这里就引出了另外一个安全处理方式ast.literal_eval.可以先看下stackoverflow及Python官方关于这个解释!
stackoverflow
Python官方文档
简单点说ast模块就是帮助Python应用来处理抽象的语法解析的。而该模块下的literal_eval()函数:则会判断需要计算的内容计算后是不是合法的python类型,如果是则进行运算,否则就不进行运算。
比如说上面的计算操作,及危险操作,如果换成了ast.literal_eval() ,都会拒绝执行。
报值错误,不合法的字符串!
而只会执行合法的Python类型,从而大大降低系统的危险性!
所以出于安全考虑,对字符串进行类型转换的时候,最好使用ast.literal_eval()函数!
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
# ast.literal
# eval
# python
# eval函数
# eval函数用法
# Python eval函数介绍及用法
# Python使用eval函数执行动态标表达式过程详解
# 将python字符串转化成长表达式的函数eval实例
# python重要函数eval多种用法解析
# python3中eval函数用法使用简介
# 详解python eval函数的妙用
# Python 执行字符串表达式函数(eval exec execfile)
# Python之eval()函数危险性浅析
# Python eval函数原理及用法解析
# 元祖
# 就会
# 也会
# 还可以
# 就不
# 对她
# 而不
# 只会
# 或者是
# 来看看
# 更有甚者
# 这个时候
# 二十一
# 可以实现
# 还可
# 另外一个
# 要将
# 这篇文章
# 谢谢大家
# 会将
相关文章:
制作门户网站的参考文献在哪,小说网站怎么建立?
Python路径拼接规范_跨平台处理说明【指导】
网站制作公司排行榜,抖音怎样做个人官方网站
定制建站如何定义?其核心优势是什么?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
网站制作话术技巧,网站推广做的好怎么话术?
阿里云网站制作公司,阿里云快速搭建网站好用吗?
c# 在高并发场景下,委托和接口调用的性能对比
网站代码制作软件有哪些,如何生成自己网站的代码?
实现虚拟支付需哪些建站技术支撑?
天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?
深入理解Android中的xmlns:tools属性
c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】
高端云建站费用究竟需要多少预算?
如何选择高效稳定的ISP建站解决方案?
如何快速生成凡客建站的专业级图册?
如何快速选择适合个人网站的云服务器配置?
西安大型网站制作公司,西安招聘网站最好的是哪个?
建站之星logo尺寸如何设置最合适?
如何在橙子建站中快速调整背景颜色?
兔展官网 在线制作,怎样制作微信请帖?
如何做网站制作流程,*游戏网站怎么搭建?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
广州商城建站系统开发成本与周期如何控制?
如何用PHP快速搭建CMS系统?
建站主机核心功能解析:服务器选择与网站搭建流程指南
如何获取开源自助建站系统免费下载链接?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?
建站之星好吗?新手能否轻松上手建站?
建站之星后台管理系统如何操作?
建站之星ASP如何实现CMS高效搭建与安全管理?
青岛网站建设如何选择本地服务器?
独立制作一个网站多少钱,建立网站需要花多少钱?
建站之星后台密码如何安全设置与找回?
如何快速生成高效建站系统源代码?
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
如何在阿里云完成域名注册与建站?
高性能网站服务器配置指南:安全稳定与高效建站核心方案
如何制作算命网站,怎么注册算命网站?
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
高性价比服务器租赁——企业级配置与24小时运维服务
电商网站制作价格怎么算,网上拍卖流程以及规则?
,网页ppt怎么弄成自己的ppt?
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
,网站推广常用方法?
如何用IIS7快速搭建并优化网站站点?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
*请认真填写需求信息,我们会在24小时内与您取得联系。