从包中导入模块时如何去掉 module.class

how to get rid of the module.class when importing module from package

所以我有那个 python 应用程序,它使用一个包 MyPackage, 在我的包的 init.py 文件中(以及其他):

from Mesure import Mesure`

其中 Mesure.py 是一个包含 class Mesure

的模块

导入 class 我可以写 :

from Mypackage import Mesure

或:

import Mypackage.Mesure as Mesure

等... 但是为了实例化 class 我做不到:

m = Mesure() # gives a "module object is not callable " error`

我需要做

m = Mesure.Mesure() # good, no errors

这是多余的,我想找到一种方法来编写 Mesure 并获得 class(不是模块) 我试过了:

import MyPackage.Mesure as mes
import mes.Mesure # gives a "no module named mes " error

我还尝试删除 init.py 文件中的行,但这并没有改变任何东西

所以问题是:我每次想实例化 class 时都需要写 Mesure.Mesure 吗? 提前谢谢你。

你导入了 Mesure 模块但是像 Class 一样使用它,它应该是

from Mypackage.Mesure import Mesure

import Mypackage.Mesure.Mesure

python 模块名称通常是小写的。