我是 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 和类似结构无需额外设施即可使用。
