导入Python包
我有一个名为导入Python包,python,Python,我有一个名为myPackage的文件夹,其中包含 名为myModule.py的文件 一个名为\uuuu init\uuuu.py的空文件 文件myModule.py如下所示: def foo(): print("Hello!") 现在,以下每个文件都将顺利运行并达到我的预期效果: 第一种选择: import myPackage.myModule myPackage.myModule.foo() 第二种选择: from myPackage import myMo
myPackage
的文件夹,其中包含
- 名为
myModule.py的文件
- 一个名为
\uuuu init\uuuu.py的空文件
myModule.py
如下所示:
def foo():
print("Hello!")
现在,以下每个文件都将顺利运行并达到我的预期效果:
第一种选择:
import myPackage.myModule
myPackage.myModule.foo()
第二种选择:
from myPackage import myModule
myModule.foo()
第三种选择:
from myPackage.myModule import foo
foo()
我的问题是,如果运行包含以下内容的脚本,会发生什么情况:
import myPackage
单是导入就让口译员抱怨。。。但那时,我本以为以下方法会奏效:
myPackage.myModule1.foo()
事实并非如此
我可以导入我的软件包吗?我想是的,否则我会马上出错。。。
下一步该怎么办?我通常写这篇文章是为了导入定制的软件包:
从myPackage导入*
该文件与我导入它的文件位于同一文件夹中。我可以直接调用所有的方法,而不用把所有的东西都放在每个命令中(所以,不是
myPackage.myModule1.foo()
,而是foo()
)。请避免通配符导入…很抱歉@ruslan\u krivoshein,什么是通配符导入?TL;DR:import myPackage
导入myPackage
,但不导入它的任何子模块。如果myPackage
包含类似于from的内容。导入myModule
,然后myModule
是在myPackage
中定义的名称,因此可以作为myPackage.myModule
使用,无需执行任何其他操作。如果myPackage
没有import myModule
,那么您就不能访问它,除非您明确地导入它。@deceze很抱歉,您把我弄丢了。如何使myPackage包含类似于from的内容。导入myModule?myPackage只是一个文件夹。\uuuu init\uuuu.py
。。。