在我工作的Python目录创建:为什么我不能调用packagename.modulename.foo()?
packagename/__init__.py
packagename/modulename.py
test.py
在modulename.py我创造了一些空的类:
class Someclass(object):
pass
在test.py:
import packagename
packagename.modulename.Someclass()
为什么我可以”在test.py中调用packagename.modulename.someclass()?
AttributeError: 'module' object has no attribute 'modulename'
我的理解是正确的做法是:
import packagename.modulename
或
from packagename import modulename
但我不明白为什么我在我的情况下,出现此错误。
更新:
换句话说,有没有办法导入包的内容与在不同的命名空间中的所有模块? 我需要正确的Python的表达式为:
from packagename import * as mynamespace
我需要在packagename/__ init_.py中列出所有软件包的模块,对不对? 我想我需要正确的python表达式“from packagename import * as mynamespace”。 – Alex 2009-12-27 22:14:41
我认为这就是'将包名称导入mynamespace'。 – 2009-12-28 00:40:50