我只是想知道爲什麼__import__()
加載一個包時調用__init__
模塊兩次。__import __()調用__init__.py兩次?
test.py
testpkg/
__init__.py
test.py
:
pkg = __import__("testpkg", fromlist=[''])
__init__.py
:
print "Called."
叫python test.py
,調用後。將被打印出兩次。 python爲什麼執行__init__
「模塊」兩次?
我無法在Python 2.6.5上重現此行爲。你正在使用哪個版本?你確定這是你在那裏發佈的完整代碼嗎? – 2010-09-19 10:05:29
我正在使用Python 2.6.4。這兩行代碼就是我用來重現的一切。我剛剛嘗試了Python 2.4.3,我得到了相同的結果。 – 2010-09-19 10:16:32
我使用g.c.c在linux2上的python 2.6.5上得到它4.4.3 – aaronasterling 2010-09-19 10:21:50