我正在處理一些爲我自動生成的python代碼。我想避免手動編輯這些Python文件&因此這個問題/問題:Python「導入」範圍
foo.py:
def foo():
print "foo"
boo.py:
def boo():
foo.foo() # <-- global name 'foo' not defined
print "boo"
bar.py:
import foo
import boo
def bar():
boo.boo()
print "bar"
執行:
python.exe bar.py
給出了一個錯誤的噓聲沒找到foo中。但酒吧進口都foo & boo。不應該自動提供噓?
有沒有辦法做到這一點?如上所述boo.py是我自動生成的&我想避免添加導入foo到boo.py
謝謝。
好的。我會要求這些人手動添加「import foo」到所有這些py文件。稍後我會修復這個.py生成工具。 謝謝。 – sambha 2010-06-24 00:17:44
@AlexMartelli我碰到了這個黑客攻擊,爲了我的目的,這已經足夠了。但是我仍然對把名字放入'__builtin__'中的所有含義感到困惑。除了名稱衝突的明顯問題外,還有其他一些值得注意的陷阱嗎? – LavaScornedOven 2013-11-26 06:33:38