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


猜你喜欢
- 一、简介1、概述因为信息是展现在命令行中的,众所周知,命令行展现复杂的文本看起来着实累人,于是就想着能像表格那样展示,那看起来就舒服多了。p
- 粉丝提问今天粉丝提了下面这样一个问题,其中一个是"一行拆多行",另外一个是"多行并一行",貌似群友用
- 1.正则匹配数字,\为转义字符,d+为匹配一次或多次如下所示:返回的结果为列表2.正则匹配小数如下所示,返回的结果125.6为字符串总结&n
- import模块时有错误红线的解决 前情提要概念:在一个文件中代码越长越不容易维护,为了编写可维护的代码,我们把很多函数分组,分别
- f-string 字符串格式化语法f-string 是 Python 3.6 版本引入的一种新的字符串格式化语法。与其他字符串格式
- 在网上查了一下,在网上收集了Java与JavaScript中使用的两个例子,试验过,分享下。1、Java:package org.bearf
- 1.使用Docker安装Elasticsearch及其扩展获取镜像,可以通过网络pullsudo docker image pull del
- 本文实例讲述了Python列表list操作符。分享给大家供大家参考,具体如下:#coding=utf8''''
- 前段时间在开发雨哲树网程序的时候,遇到需要转换地址中的参数,需要用到简单可逆运算的加密功能。在网上找了很多都不理想。因为我需要的这个可逆运算
- 环境描述: 某公司装了一台SQL Server数据库,为了保证数据库能够在出现故障时及时的修复,管理员做了备份操作,比如说完整备份+差异备份
- 一、Vue.js简介1、Vue的主要特点: (1) 简洁 (2) 轻量 (3)快速 (4) 数据驱动 (5) 模块友好 (6) 组件化(1)
- 本文所示代码实现python编程方向键控制图片上下左右,我们首先看下演示结果。演示:实例代码:bif="1.jpg" m
- 本文所依赖的环境为:进程和线程的概念进程概念我们想运行一个程序,首先会将该程序从存储介质上通过IO总线加载进内存中,而后再通过cpu进行调度
- 前期准备1.beat插件安装pip3 install django-celery-beat2.注册APPINSTALLED_APPS = [
- 前提条件,两台服务器都安装了mysql相同的版本,数据库名也一样,最好数据都是尽量的差不多。mysql服务器端 192.168.0.1: 新
- 混编的含义有两种,一种是在python里面写C一种是C里面写python本文主要是进行简化,方便使用。###################
- 一、根据vux文档直接安装,无需手动配置npm install vue-cli -g // 如果还没安装vue init ai
- 在采集网页信息的时候,经常需要伪造报头来实现采集脚本的有效执行下面,我们将使用urllib2的header部分伪造报头来实现采集信息方法1、
- 一、什么是模块容器 -> 数据的封装函数 -> 语句的封装类 -> 方法和属性的封装模块 -> 模块就是程序,模块就
- 关于ref和$refs的用法及讲解,vue.js中文社区( https://cn.vuejs.org/v2/api/#ref )是这么讲解的