Skip to main content
 首页 » 编程设计

python之带有函数 exec 的 python 代码是否被编译为可执行文件

2025年05月04日17mq0036

我是 python 新手,之前从未将 python 代码编译成可执行文件。我非常熟悉的语言是 C、C++ 和 Java,我从来没有遇到过一种语言可以让您从内部修改代码,例如 Python,它使用 exec 方法。

对于下面的代码,

a = 500 
code  = raw_input()  
exec (code) 

当我将输入作为 print (a) 时,程序会显示 a 中的值。 所以这意味着变量a在代码范围内。

我不明白如果我们尝试使用像 py2exe 这样的程序将 python 代码转换为可执行文件会发生什么。 方法 exec 仍然有效吗?如果它确实有效,py2exe 是否会在程序编译时带来整个 Python 编译器和解释器?

请您参考如下方法:

py2exe 从不 将 Python 代码编译成 native 可执行文件;它始终将 Python 解释器捆绑到可执行文件中。 freeze、cx_Freeze 和所有其他提供类似功能同时支持完整 Python 语言而不是其中有限子集的工具也是如此。

因此,exec、eval 和类似结构无需额外设施即可使用。