Python模块调用指南:内置、第三方与跨目录自定义模块
本文详解Python中内置、第三方及自定义模块的调用方法。重点解析同级、上级调用下级及同级目录间文件互调的场景,阐明__init__.py文件的必要性。通过from与import两种语法对比,结合sys.path路径追加技巧,解决跨目录模块导入报错问题,并提供cmd执行时的目录注意事项。
Python中的模块来源多样,既包含语言自带的标准库,也涵盖社区开发的第三方库,同时允许开发者根据需求创建并引用自定义模块。
1、调用自带的标准库,例如sys模块
引入并使用内置模块非常简单,仅需执行import sys语句即可完成导入,随后即可在代码中直接调用。
2、对于第三方模块,必须先通过包管理工具完成安装,之后才能使用import语句引入项目。
3、针对自定义模块的调用,需根据目录结构采取不同策略:
(1)处理同级目录下的模块调用
项目根目录为test
-----t1.py
-----t2.py
-----test1
-----------testm.py
-----test2
-----------testmm.py
若t1.py需要调用t2.py中定义的模块,需确保两者位于同一层级。
import t2 t2.func()
(2)当上级目录需要调用下级目录模块时,必须在下级目录中创建__init__.py文件,该文件内容可以为空,但其存在标志着该目录为Python包。
例如,t1.py需调用test1目录下的testm.py,此时应在test1目录下新建__init__.py文件。
from test1.testm.py import * func()
使用from语句导入时,可直接调用模块内的函数或变量,无需额外指定模块名前缀,或者采用其他等效写法。
import test1.testm test1.testm.func()
若使用import语句导入,则必须在调用时显式添加包名和模块名作为前缀,以明确引用路径。
(3)在实现同级目录之间文件的相互调用时,被调用文件所在的目录下同样需要创建__init__.py文件以标识为包。
具体场景如test2目录下的testmm.py文件需要调用test1目录下的testm模块,此时必须在test1目录下创建__init__.py文件。
import sys
sys.path.append("..")
import test1.testm
test1.testm.func()
或者采用路径追加的方式进行调用。
import sys
sys.path.append("..")
from test1.testm import *
func()
上述示例在执行程序时,命令行终端(cmd)的工作目录必须切换至当前正在执行的Python文件所在的目录,否则可能无法正确解析路径。
以上即为Python中不同级目录之间模块调用的完整方法分享,希望能为读者提供实用参考,欢迎支持本站获取更多技术内容。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













