[英]Does a python code with the function exec in it get compiled to an executable?
我是python的新手,以前從未將python代碼編譯為可執行文件。 我熟悉的語言是C,C ++和Java,但我從來沒有遇到過一種可以讓您從內部修改代碼的語言,例如使用exec
方法的Python。
對於以下代碼,
a = 500
code = raw_input()
exec (code)
當我輸入為as時, print (a)
程序在a
顯示值。 因此,這意味着變量a
屬於代碼范圍 。
我不明白如果我們嘗試使用py2exe
類的程序將python代碼轉換為可執行文件,將會發生什么。 方法exec
仍然可以使用嗎? 如果它能正常工作,那么在程序被編譯時py2exe
帶來整個Python編譯器和解釋器嗎?
py2exe
永遠不會將Python代碼編譯為本地可執行文件。 它總是將Python解釋器捆綁為可執行文件。 這是真正的同樣freeze
, cx_Freeze
和所有其他工具提供類似的功能,同時支持完整的Python語言,而不是它的有限的子集。
因此, exec
, eval
和類似的構造可用,而無需其他設施。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.