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
も、エラーは発生しません。ここで何が起こっているのですか?
WinXP で Python 2.6.4 を実行しています。