如何利用python执行txt文件中的代码
作者:机器学习入坑者 发布时间:2021-03-01 04:47:46
标签:python,执行,txt,文件,代码
前言:
我们知道,python代码文件大多数都是py类型。
那么,能不能使用txt文件存储我们的代码呢?
python这么强大的语言当然可以做大,只需使用内置的exex()函数。
1.什么是exec()函数?
根据官方文档的介绍,exec函数的定义如下:
exec(source, globals=None, locals=None, /)
? ? Execute the given source in the context of globals and locals.
? ??
? ? The source may be a string representing one or more Python statements
? ? or a code object as returned by compile().
简单的说,exec()可以接受代表python代码的字符串,并将字符串作为代码执行(关于globals和locals的概念这里暂时先不做介绍,后续文章会进行补充)。
2.如何将txt中的代码作为字符串读取?
这一步骤只需使用python内置的文件流操作即可,比如使用File对象的read()函数将代码一次性读取:
with open("code.txt", "r") as f:
? ? code = f.read()
其中“code.txt”就是想要执行的代码,其中不应该包含语法错误,否则不便于调试(最好是将已经调试完成的代码放入txt中)。
3.使用exec()执行txt文件的完整例子
(1)在txt文件中写代码,比如:
def mul(x, y):
? ? print("x*y = {}".format(x*y))
? ? return x*y
mul(2, 3)
(2)以字符串形式读取“code.txt”文件内容:
with open("code.txt", "r") as f: ? ?
? ? code = f.read()?
(3)使用exec()执行字符串:
exec(code)?
来源:https://zhuanlan.zhihu.com/p/112213767


猜你喜欢
- python中字典可以一键多值,也就是意味着一个键可以对应多个值。例:#encoding=utf-8print '中国'#字
- 问题:过滤用户输入中前后多余的空白字符‘ ++++abc123---
- 首先,把这个“功能”包含到页首:<!--#include virtual="/readini/inifile.in
- 设计师常常使用一些独特的字体效果和页面效果,阴影是其中一个,它可以让页面中的文字和元素具有立体的效果,从而被突出出来。比如对于文字阴影,传统
- 基于MySQL分布式锁实现原理及代码工欲善其事必先利其器,在基于MySQL实现分布式锁之前,我们要先了解一点MySQL锁自身的相关内容MyS
- python eval函数功能:将字符串str当成有效的表达式来求值并返回计算结果。函数定义:eval(expression, global
- 本文介绍在Python环境中,实现随机森林(Random Forest,RF)回归与各自变量重要性分析与排序的过程。其中,关于基于MATLA
- 1.相关基础知识介绍 在Vim中,有四个与编码有关的选项
- 我就废话不多说了,直接上代码吧!集成环境:win10 pycharm #!/usr/bin/env python3.5.2# -*- cod
- 前言调用EXPLAIN可以获取关于查询执行计划的信息,以及如何解释输出。EXPLAIN命令是查看查询优化器如何决定执行查询的主要方法,但该动
- 案例:爬取使用搜狗根据指定词条搜索到的页面数据(例如爬取词条为‘周杰伦'的页面数据)import urllib.request# 1
- itertools.product:类似于求多个可迭代对象的笛卡尔积。使用的形式是:itertools.product(*iterables
- 前言一个简单的php➕mysql项目学生信息管理系统,用于广大学子完成期末作业的参考,该系统实现增、删、改、查等基本功能。1、登录界面<
- 适配器模式Adapter Pattern是什么适配器模式是一种结构型模式,它可以将一个类的接口转换成客户端所期望的接口,从而使原本不兼容的类
- fullcalendar 版本:v5.9.0解决方案fullcalendar next ,prev等切换月份的按钮是没有回调函数,要想由回调
- 问题我们需要以某种对齐方式将文本做格式化处理。解决方案对于基本的字符串对齐要求,可以使用字符串的ljust()、rjust()和center
- 1.如何用函数先定义后调用,定义阶段只检测语法,不执行代码调用阶段,开始执行代码函数都有返回值定义时无参,调用时也是无参定义时有参,调用时也
- pytest概述pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点:1、简单灵活,容易上手,文档丰富;2、支持参数
- 在SQL Server中,如果我想授予一个用户klb拥有创建表的权限,但是我又不想授予其数据库角色db_ddladmin,因为这样会扩大其权
- 如何自动更新导航栏?下面看看如何具体使用Content Linking组件: <&nbs