我創建了一個名爲foo_module.py
包含下面的代碼文件:與貨架(蟒蛇)很奇怪的問題
import shelve, whichdb, os
from foo_package.g import g
g.shelf = shelve.open("foo_path")
g.shelf.close()
print whichdb.whichdb("foo_path") # => dbhash
os.remove("foo_path")
下該文件創建一個名爲foo_package
比包含空__init__.py
文件目錄和文件名爲g.py
只包含:
class g:
pass
現在,當我運行foo_module.py
我得到一個奇怪的錯誤消息:
Exception TypeError: "'NoneType' object is not callable" in ignored
不過,如果我重新命名的目錄從foo_package
到foo
,改變進口線foo_module.py
,我沒有得到任何錯誤。 Wtf在這裏?
在WinXP上運行Python 2.6.4。
解決方法的工作原理,謝謝。這裏的錯誤報告:http://bugs.python.org/issue7835 – 2010-02-02 01:09:58