带有函数 exec 的 python 代码是否被编译为可执行文件?
Does a python code with the function exec in it get compiled to an executable?
我是 python 的新手,我以前从未将 python 代码编译成可执行文件。我非常熟悉的语言是 C、C++ 和 Java,我从来没有遇到过一种语言可以让你从内部修改代码,比如 Python,它使用的方法是 [=12] =].
对于下面的代码,
a = 500
code = raw_input()
exec (code)
当我输入 print (a)
时,程序会显示 a
中的值。 所以这意味着变量a
在代码的范围内。
我不明白如果我们尝试使用像 py2exe
这样的程序将 python 代码转换为可执行文件会发生什么。 方法exec
还有效吗?如果它确实有效,py2exe
是否会在程序编译时带来整个 Python 编译器和解释器?
py2exe
从不 将 Python 代码编译成本机可执行文件;它始终将 Python 解释器捆绑到可执行文件中。 freeze
、cx_Freeze
和所有其他提供类似功能同时支持完整 Python 语言而不是其中有限子集的工具也是如此。
因此,exec
、eval
和类似的结构无需额外设施即可使用。
我是 python 的新手,我以前从未将 python 代码编译成可执行文件。我非常熟悉的语言是 C、C++ 和 Java,我从来没有遇到过一种语言可以让你从内部修改代码,比如 Python,它使用的方法是 [=12] =].
对于下面的代码,
a = 500
code = raw_input()
exec (code)
当我输入 print (a)
时,程序会显示 a
中的值。 所以这意味着变量a
在代码的范围内。
我不明白如果我们尝试使用像 py2exe
这样的程序将 python 代码转换为可执行文件会发生什么。 方法exec
还有效吗?如果它确实有效,py2exe
是否会在程序编译时带来整个 Python 编译器和解释器?
py2exe
从不 将 Python 代码编译成本机可执行文件;它始终将 Python 解释器捆绑到可执行文件中。 freeze
、cx_Freeze
和所有其他提供类似功能同时支持完整 Python 语言而不是其中有限子集的工具也是如此。
因此,exec
、eval
和类似的结构无需额外设施即可使用。