Python 错误 NameError: Name Execfile Is Not Defined
在 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()
函数需要三个参数。
- 对象可以是字符串或多行代码。
- 全局参数可以是字典。
- 本地可以是映射字典。
local 和 global 参数都是可选的。 此外,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
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串