1 区分
模块(module)是一个.py文件,包(package)是一个文件夹,Python2中文件夹内必包含一个__init__.py文件,Python3中没有此要求。
2 使用
import <package>
import <module>
from <package> import <module or subpackage or object>
from <module> import <object>
3 解释器查找导入的包或者模块名
优先加载当前工作目录下的模块,当项目中使用了与内建模块中同名的包或模块名,就会遇到导入报错的提示,不存在等问题。 一种是避免内建模块中使用同名文件名。再就是使用sys.path,将其他文件路径加到Path中,使其被解释器发现,如下,两种方法。
import sys,os
import he #当前没有模块,报错找不到
#he模块所在位置:/pre/he.py
#将he所在模块加入sys.path
sys.path.append("/pre")
import he #就可以正常工作了
#所调用的模块不在sys.path下时,使用imp模块中的方法imp.load_source
import imp
imp.load_source("he","D://pre/he.py")
import he
#__file__属性查看模块所在磁盘的路径位置
import requests
requests.__file__
【from import * 有不可预知的风险】