【发布时间】:2021-03-10 03:50:21
【问题描述】:
我有一个名为“package”的自定义包和一个名为“module”的自定义模块,该模块在调用时有一个返回“test”的函数。当我导入我的包时:
from package import module
一切正常,但如果我这样做:
from package import *
或者
import package
然后,当尝试使用“模块”模块时,会出现错误名称“模块”未定义。为什么我使用 import * 或导入包时没有导入模块?
我试图调用的模块中的代码是这样的:
def printTest():
return("Test")
文件中调用模块的代码是这样的:
import package
print(module.printTest())
【问题讨论】:
-
你能告诉我们
module模块和package包中的代码以及你的调用方式吗? -
可能想这样称呼它
package.module.printTest() -
@Maurice 刚刚编辑了我的帖子以包含它
-
@downshift 这给了我一个错误 module 'package' has no attribute 'module'。
-
如果你想在包中导入模块的功能,你可以写
from package.module import function并使用function(),或者你可以写import package.module as pm并使用pm.function()。您不能使用import package这样的单个语句导入包的所有模块,这只会导入包目录中文件__init__.py的函数/方法。
标签: python python-3.x module package