python eval()函数使用详情
作者:Python 发布时间:2021-10-17 02:09:23
标签:python,eval()
一、eval()函数是什么?
Python
的一个内置函数;
返回传入字符串的表达式结果(官方)
二、eval()函数语法解析
三、eval()函数应用举例
3.1 eval()基本应用举例
上述例子中,展示了eval()的3个应用:
把字符串转化为代码表达式求结果,如
66+72
把字符串转化为其它数据类型,如字典、列表、元组、集合等
传递
globals
参数和locals
参数,当两个参数都存在时,先查找locals
参数,再查找globals
参数,locals
参数中同名变量会覆盖globals
中的变量
3.2 eval()危害举例
上述例子中,eval()
将字符串转成表达式并执行,就可以利用其执行系统命令,删除文件等操作。
3.3 ast.literal_eval()替代eval()实现数据类型转换
上述代码也能完成类型转换,但由于没有使用eval()
,所以产生的安全风险较小。
literal_eval()
函数:会判断需要计算的内容计算后是不是合法的python
类型,如果是则进行运算,否则就不进行运算。
来源:https://zhuanlan.zhihu.com/p/193129156
0
投稿
猜你喜欢
- opencv > pilimport cv2 from PIL import Imageimg = cv2.imread("
- 我们可用如下代码进行监控:函数中使用了fso对象来读取文件属性。Function File_GetLastModifi
- 目录1.字典字典的相关操作获取字典的长度2.集合1.字典字典是python中的一种数据结构。它的内容由**键-值(key-value)**的
- 花几分钟时间欣赏一下我们写好的Web应用程序,然后我们再来搞点小破坏。 我们故意在 views.py 文件中引入一项 Python 错误,注
- 简单介绍NumPy系统是Python的一种开源的数组计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested
- 直接使用Python来实现向量的相加# -*-coding:utf-8-*-#向量相加def pythonsum(n): a = range
- 本文详细讲述了CI框架整合smarty步骤。分享给大家供大家参考,具体如下:Ci结合smarty的配置步骤:1. 第一步配置ci和下载sma
- http 模块简介Python3 中的 http 包中含有几个用来开发 HTTP 协议的模块。http.client 是一个底层的 HTTP
- 阻塞定义当来自应用程序的第一个连接控制锁而第二个连接需要相冲突的锁类型时,将发生阻塞。其结果是强制第二个连接等待,而在第一个连接上阻塞。不管
- 1. 标签{% 标签 %}1.1 for循环标签<ul><!-- 可迭代对象都可以用循环 --><!-- 循环
- 我们都知道float:left和float:right,但是否想过float:center呢?居中浮动。。。<div id="
- 前言由于Django是 * 站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,1.
- 图片显示pytorch 载入的数据集是元组tuple 形式,里面包括了数据及标签(train_data,label),其中的train_da
- 第一,两者的功能不同。global关键字修饰变量后标识该变量是全局变量,对该变量进行修改就是修改全局变量,而nonlocal关键字修饰变量后
- Oracle客户端NLS_LANG设置 OracleWindowsMicrosoftUnixBash 1. NLS_LANG 参数组成 NL
- MMClassification是一个基于PyTorch的开源图像分类工具箱,是OpenMMLab项目的一部分,源码传送门,最新发布版本为v
- 在添加新记录时,有时候我们需要将部分动态内容自动添加到指定的文本域,例如上传一个文件后,将文件名自动添加到一个独立的记录框内,以
- jQuery的makeArray有其局限性(1.3.4还有bug),我自己实现了一个,不过涉及N多辅助方法。var dom = {},_to
- 本文实例讲述了Go语言中的匿名结构体用法。分享给大家供大家参考。具体实现方法如下:package main  
- 父层: <div class="col-xs-12"> <div class