迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

Python 错误 NameError: Name Execfile Is Not Defined

作者:迹忆客 最近更新:2023/05/30 浏览次数:

在 Python 2 中,有一个内置函数 execfile() ,其中将文件作为 Python 语句进行解析和评估。 这个函数不再存在于 Python 3 中。

本文演示了在 Python 3 中执行文件的可能替代方法。


替代 Python 3 中的 execfile()

在 Python 2 中,我们使用函数 execfile() 来执行文件。 在 Python 3 中,我们有一个类似的函数,叫做 exec()。

首先,我们将打开并读取文件并将其作为参数传递给 exec() 函数。

Python 3 中的 exec() 函数

Python exec() 函数执行动态创建的代码块,作为字符串传递。

一般语法:

exec(object, global, local)

exec() 函数需要三个参数。

  1. 对象可以是字符串或多行代码。
  2. 全局参数可以是字典。
  3. 本地可以是映射字典。

localglobal 参数都是可选的。 此外,exec() 是一个空函数,不返回任何值。

下面的代码演示了这个函数的基本工作原理。 以下代码中打印了字符串“programming is fun”。

执行三个数学运算并分别传递给 exec() 函数。

同样,我们可以向一个字符串中添加多行,每一行都被解析为 Python 语句并执行。

示例代码:

exec('print("programming is fun")')
exec('x=4; y=9; print("Multiplication:", x*y)')
w = 200
exec('print(w == 200)')
exec ('print(w / 100)')

输出:

programming is fun
Multiplication: 36
True
2.0

使用 exec() 执行 Python 文件

现在,如果我们想在我们的代码中执行一个外部 Python 文件,我们首先需要打开该文件,读取它并将它作为参数传递给 exec() 函数。

在这里,我们在相对目录中创建了一个文件 myfile.py,其中包含以下代码。

print("Jiyik")

要在我们的 Python 代码中执行此文件,我们将首先使用 open() 打开它,然后使用 read() 函数读取它,最后使用 exec() 函数运行它。

示例代码:

exec(open("myfile.py").read())

输出:

Jiyik

使用 with Block 使用 exec() 执行 Python 文件

with 块在文件到达块末尾时(自动)安全地关闭文件,确保没有任何文件保持打开状态。

示例代码:

with open("myfile.py", 'r') as f:
    exec(f.read())

输出:

Jiyik

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:Python

Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。

Pandas 追加数据到 CSV 中

发布时间:2024/04/24 浏览次数:352 分类:Python

本教程演示了如何在追加模式下使用 to_csv()向现有的 CSV 文件添加数据。

Pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:Python

本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。

Pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:Python

本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便