从包中导入模块时如何去掉 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 模块名称通常是小写的。
所以我有那个 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 模块名称通常是小写的。