执行python代码或代码对象--eval--exec--

python脚本执行CMD命令并返回结果的例子 最近写脚本的时想要用python直接在脚本中去执行cmd命令,并且将返回值打印出来供下面调用,所以特意查了下,发现主要有一下几种方式来实现,很简单: 就拿执行adb, adb shell, adb devices 举例 1.第一种方法 os 模块的 os.sysytem() import os os.system('adb) 执行括号中系统命令,没有返回值 2.第二种方法:os模块的 os.popen() if __name__=='__main__': import os a = os.popen('adb') #此时打开的a是一个对象,如果直接打印的话是对象内存地址 text 立即下载

1. compile()

compile()可以在程序运行时刻迅速生成代码对象,然后可用exec 语句或eval()函数来执行这些对象或对其进行求值。

eval() 和 exec都可以执行字符串格式的python代码,但每次都必须对这些代码进行字节编译。

而compile()刚好提供了一次性字节代码预编译,之后的调用,都不用重复编译,有助于改善性能。

一般先由compile()函数对代码进行编译,返回一个code对象,然后由exec 或eval()执行。

compile 有三个参数,都是必须的:

(1)待编译的python代码。

(2)存放代码对象的文件名,通常为空。

(3)表明代码对象类型的字符串。

        'eval'   可求值的表达式。[与eval()一起使用]

mycode = compile('100+200', '', 'eval')
print(type(mycode))
print(eval(mycode))
# 运行结果
<type 'code'>
300

       'single'   单一执行语句。[与exec一起使用]

       'exec'   可执行语句组。[与exec一起使用]

my_code = compile("""
for i in range(4):
    print(i)
""", '', 'exec')

exec my_code
print(type(my_code))
# 运行结果
0
1
2
3
<type 'code'>

 

2. eval()

对表达式求值(字符串或compile()预编译代码对象),

eval("2*3")

3. exec() 与 execfile() 执行文件对象

在python中读取其他python脚本内容并执行

with open('tt.py', 'r') as f:
    exec f
或
execfile('tt.py')
或
python tt.py   # 在命令行环境下
# 以上方式均等价

python -c

python -m

Modbus协议全家桶(C#纯原生完整版):ModbusRTU + ModbusTCP + ModbusASCII 协议规范+完整封装+工业级实战 你已经掌握了C#串口/网口原生核心API和工业通信协议本质,而今天的主角Modbus协议,是工业通信领域绝对的王者、通用的标准、入门的必修课,没有之一。凡是做工业通信开发,必会Modbus协议;市面上99%的工业设备(PLC、变频器、温控仪、传感器、流量计、扫码枪)都原生支持Modbus协议。Modbus协议不是单一协议,而是一个「协议家族」,我们常说的就是这个家族的三大核心成员,也是工业现场的全部Modbus应用形态。 阅读详情

相关推荐

RK3588网络调试笔记:当我把默认RTL8211F PHY换成另一款时,踩了哪些坑?

本文详细记录了在RK3588平台上将默认RTL8211F PHY芯片替换为其他型号的全过程,包括硬件设计验证、内核驱动适配、复位时序配置等关键步骤。通过实际案例分享,提供了从驱动调试到硬件优化的系统性解决方案,帮助开发者高效完成PHY芯片替换,确保网络接口稳定性。

weixin_30291791的博客 669

python学习之:运行CMD命令

实验环境:win10 x64 python version: 3.4.3 使用os.system('command')即可 示例脚本: import subprocess import os import time #os.system('ping www.baidu.com')     #a = subprocess.Popen('ping www.b

tzm1921995的博客 1068

招标信息爬取工具

一个能帮你节省大量时间的实用小工具,我自己用了挺久,分享出来给有需要的朋友

qq_56877290的博客 836

Python subprocess模块执行CMD命令

python subprocess模块执行cmd命令

Jonia430的博客 1112

08 rk3568 模拟smi mdio RTL8367RB(一)

前提需求:硬件连接普通gpio ,RTL8367RB需要mdio通信 使用的gpio是 MDC GPIO3_B3 (SMI时钟线) MDIO GPIO3_B4 (SMI数据线) 2. 数据结构与枚举 3.1 GPIO 初始化(地址映射) 内核无法直接访问物理地址,通过ioremap将 GPIO 控制器的物理地址映射为虚拟地址,后续通过虚拟地址操作 GPIO 寄存器。 3.2 设置引脚方向 3.3 设置电平 3.4 读取电平 6. SMI 总线时序实现 SMI 总线通信依赖严格的时序(起始信号、

qq_39451352的博客 541

127. 答网友疑问:ABAP Function Module 如何支持内表结构不确定的动态输入参数

ABAP RTTI 的全称是 Runtime Type Identification. 使用 RTTI,ABAP 开发人员可以在运行时获取关于数据对象的各种信息,包括其数据类型、字段列表(如果数据是Structure 或者内表的话)以及这些字段的技术属性,比如字段名称,字段数据类型,长度等等。对于这些字段信息,ABAP 提供了一组特殊的类和接口,包括 CL_ABAP_TYPEDESCR、CL_ABAP_STRUCTDESCR、CL_ABAP_TABLEDESCR 等等。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1763

python 调用cmd命令通过文件来实现

def apsExecCmd(self, strCommand, bReqRet=True,timeout=10.0): """ ************************************************************* author: sunjingjian 00180906 desc: 执行...

141

杰理SDK入门教程(一):编译环境的安装和程序下载

本文档提供了杰理SDK在Windows系统下的开发环境配置与代码编译指南。主要内容包括:1) 开发环境安装步骤,需下载Code::Blocks和杰理工具链;2) 编译过程中常见问题的解决方案,如安全警告提示和链接文件缺失问题;3) 代码编译流程说明,包括打开工程、连接开发板、执行编译等步骤。文档特别强调了强制升级模式的操作方法,并指出需避免点击运行/调试按钮。最后提示了杀毒软件可能误报工具链的注意事项。

qq_42014563的博客 2741

Windows自动化重启python脚本

可以看到,有一个TCP链接在监听5001端口,其中最后一个。

呆萌的代Ma 1315

Allegro如何设置走线自动删除重复走线操作指导

Allegro如何设置走线是自动删除重复走线操作指导在PCB布线的时候,点到点需要重复走一段线的时候,希望原来的线段自动被删除,Allegro设计的时候支持这个操作如下图,重复走中间的线段的时候,希望下方的走线自动删除具体操作如下This section is describe what the function allegro have ,helpfully could let user know more about allegroAllegro Design and Analysis includes

weixin_54787054的博客 4499

46、大数据助力SDN优化流量管理与控制器

本文探讨了大数据在软件定义网络(SDN)中的应用,重点分析了如何利用大数据技术优化SDN控制器的可扩展性和弹性。通过介绍SDN控制器的核心功能及其面临的挑战,提出了集中式、分布式、混合式和分层式控制器放置策略,并结合大数据分析系统架构与技术,详细阐述了在控制器放置优化、流聚合和备份路径识别等场景中的实际应用。文章还给出了大数据分析在SDN控制器优化中的操作流程与优势,展望了未来结合人工智能与物联网的发展方向,强调了数据安全与算法效率的重要性。

xx56789的博客 86

python执行 多条命令 exec_command

【代码】python执行 多条命令 exec_command。

sun007700的专栏 375

22h2版本的win10安装Docker Desktop时页面空白

摘要:Windows10 22H2系统重装Docker时出现安装界面卡死问题,通过管理员CMD执行静默安装命令解决。命令指定了WSL-2后端及多个自定义数据存储路径(安装目录、Hyper-V数据、Windows容器数据、WSL数据),安装需等待几分钟。最终验证安装成功。

猿小白的博客 659

Python 可执行对象

eval/repr eval eval 可以执行字符串类型的表达式 (或 compile() 创建的代码对象(code object) ) 并返回执行结果 eval(expression, globals=None, locals=None) expression 参数会作为一个 Python 表达式被解析并求值globals 和 locals 作为全局和局部命名空间,globals 实参必须是一个字典,locals 可以是任何映射对象。 默认为当前环境,如果只给了 globals,则默认 locals

Python热爱者的博客 439

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

内置函数——eval、exec、compile

eval()将字符串类型的代码执行并返回结果 print(eval('1+2+3+4')) exec()将自字符串类型的代码执行 print(exec("1+2+3+4")) exec("print('hello,world')") code = ''' import os print(os.path.abspath('.')) ''' code = ''' p...

dhx36675的博客 105

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Lithe-IDEA:面向Spring Boot全生命周期的轻量级开发协作者

Spring Boot 开发工具正从通用IDE向垂直化、场景化演进。传统IDE虽支持Java编码,但在应用可观测性、配置安全校验、启动态调优和链路追踪等生产级能力上存在明显断层。Lithe-IDEA 基于 JDK 21 虚拟线程、JCEF 渲染引擎与 Gradle Configuration Cache 等现代技术栈,重构了面向 Spring Boot 四层架构的轻量协作范式,聚焦接口契约校验、Actuator 安全沙箱、启动参数热调优与日志链路智能聚合四大核心能力。它不替代 IntelliJ IDEA,而

weixin_34234721的博客 236

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Python可执行对象——exec、eval、compile

Python提供的调用可执行对象的内建函数进行说明,涉及exec、eval、compile三个函数。exec语句用来执行存储在代码对象、字符串、文件中的Python语句,eval语句用来计算存储在代码对象或字符串中的有效的Python表达式,而compile语句则提供了字节编码的预编译。 当然,需要注意的是,使用exec和eval一定要注意安全性问题,尤其是网络环境中,可能给予他人执行非法语句的机...

python学习者的博客 532

内置函数---eval、exec、compile

eval()将字符串类型的代码执行并返回结果 print(eval('1+2+3+4')) exec()将自字符串类型的代码执行 print(exec("1+2+3+4")) exec("print('hello,world')") code = ''' import os print(os.path.abspath('.')) '''...

weixin_30387339的博客 75

python3的eval和exec的区别与联系

eval:  可以把字符串里的字符转换为可执行代码,但只支持一行字符。可以返回执行后得到的值。如下: f = "3+6+9+8" s = eval(f) print(s) 输出: "C:\Program Files\python3\python3.exe" D:/codes_py3/luhy_tool/string_utils/mymethod.py 26 exec: 可以把字符...

北慕的博客 1771

Python中字符串类型代码的执行函数——eval()、exec()和compile()

如果是single类型,表示这是一个单一语句,采用交互模式执行,在这种情况下,如果是一个表达式,一般会输出结果,而不是打印为None输出。参数,所以我们要将该递归函数转化成一个字符串,当然,格式还是要Python代码的格式来,注意换行和缩进。locals:该参数掌控局部的命名空间,功能和globals类型,不过当参数冲突时,会执行locals处的参数。如果是eval类型,表示这是一个单一的表达式语句,可以用来计算相应的值出来;flags:变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

GMH的博客 2627

内置函数:exec、eval、compile

eval:将字符串内的代码执行,有返回值,用于简单的计算exec:将字符串内的代码执行,没有返回值,用于简单的逻辑判断   均可以读取文件进行执行 info_str = '1+2+3' couunt = eval(info_str) couunt1 = exec(info_str) print(couunt)#返回6 print(couunt1)#无返回值 jud =...

banlixian6029的博客 163

Python exec 内置语句

描述 exec 执行储存在字符串或文件中的Python语句,相比于 eval,exec可以执行更复杂的 Python 代码。 需要说明的是在 Python2 中exec不是函数,而是一个内置语句(statement),但是Python 2中有一个 execfile() 函数。可以理解为 Python 3 把 exec 这个 statement 和 execfile() 函数的功能够整合到一个新的 exec() 函数中去了。 语法 以下是 exec 的语法: exec obj 参数 .

weixin_36670529的博客 419

exec是不是python的内置函数_Python内置函数——exec

Python内置函数——execxecexec(object[, globals[, locals]])本函数是执行一段语句或函数。参数object是一个字符串的语句或者一个编译过的语句的对象名称。参数globals是全局命名空间,用来指定执行语句时可以访问的全局命名空间;参数locals是局部命名空间,用来指定执行语句时可以访问的局部作用域的命名空间。要注意本函数不会返回任何值,不管函数或语句有...

weixin_39599705的博客 149

python globals exec_Python标准库:内置函数exec(object[, globals[, locals]])

本函数是执行一段语句或函数。参数 object 是一个字符串的语句或者一个编译过的语句的对象名称。参数 globals 是全局命名空间,用来指定执行语句时可以访问的全局命名空间;参数 locals 是局部命名空间,用来指定执行语句时可以访问的局部作用域的命名空间。要注意本函数不会返回任何值,不管函数或语句有任何的返回值语句,比 return 或 yield 语句。如果参数 globals 和 lo...

weixin_39540271的博客 153
上一篇: python 执行非python程序
下一篇: Liunx账号管理与用户身份切换
MusicDancing
博客等级 码龄7年 2684粉丝 314原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值