导入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
。。。