我不能告訴你有多少次我被意外命名爲我想要導入的文件,導致python導入文件。這個例子應該表現出什麼我說的(我的第一個例子沒有工作),如果/是在PYTHONPATH:允許python文件導入自己的好處
/foo
__init__.py
/test
foo.py
__init__.py
def do_thingy():
print "Swosh!"
foo.py
from foo import * # Whops! Self include. Happy debugging.
do_thingy() # Not imported. You fail.
似乎當應用程序,模塊,插件有這個錯誤時,靜靜地失敗,並去調試(我已經被告知)的方法是去殼和導入一切直到你找到那個壞的東西。
是否有遞歸導入的實際用途?
可能沒什麼合理的。 – 2011-04-20 18:21:40
我很困惑你的榜樣。我試着將你的代碼放在你指定的文件中,在foo/bar.py中定義'do_thingy',並複製foo.py的代碼。當我運行foo.py時,'do_thingy()'完全按照預期執行。我正在運行Python 2.6.6。有什麼我失蹤? – eksortso 2011-04-20 18:43:51
用於「快速調試」的評論。 – phooji 2011-04-20 18:50:33