在Python中,本地导入和包导入是两种不同的导入方式。
本地导入是指从同一目录或子目录中导入一个Python模块。这种导入方式不需要包含模块的完整路径,只需要提供模块的文件名即可。例如,假设当前目录下有一个名为"module.py"的模块,可以使用以下代码进行本地导入:
import module
包导入是指从一个包(包含多个模块的文件夹)中导入一个模块。这种导入方式需要指定模块的完整路径,包括包名和模块名。例如,假设有一个名为"my_package"的包,其中包含一个名为"module.py"的模块,可以使用以下代码进行包导入:
from my_package import module
区别:
下面是一个具体的示例:
假设有以下目录结构:
my_package/
__init__.py
module.py
main.py
module.py文件的内容如下:
def hello():
print("Hello, module!")
main.py文件的内容如下:
import module # 本地导入
from my_package import module # 包导入
module.hello()
my_package.module.hello()
运行main.py后,输出结果为:
Hello, module!
Hello, module!
在本地导入中,只需提供模块名即可导入,而在包导入中,需要指定完整的包名和模块名。