最近在学习用 python3 写测试用例,在导入包和模块中踩到了坑。在网上找资料,发现不太全面,有些还有错漏。于是决定自己总结,希望也能给遇到问题的小伙伴们带来帮助。 注:使用python版本为3.7。
在任何语言中,依赖管理都是最基础的。在 python 中也不例外。这里我们要从模块和包说起。
模块和包
- 模块 .py 为后缀的文件视为一个模块。模块可以在其他 python 文件中被导入和使用。
- 包 包含多个模块的文件夹,导入该包即导入该包内的模块。必须有 __init__.py文件。
- __init__.py 文件:导入某个包时,会首先执行__init__.py 文件,因此可以在里面先行导入需要用到的模块或者模块内的定义、方法。
python 如何找到导入的模块
python会按顺序来查找导入的模块:从sys.modules 查找 -> 查找器查找。
- sys.modules:缓存了之前导入的所有模块。
- 查找器:默认有3个,按照内置模块(python官方模块等)-> 冻结模块-> import path(来自 sys.path,包括当前模块所在目录,以及自行加入的目录等)的路径查找。

本文详细介绍了Python中的模块和包,包括如何导入模块、使用相对和绝对路径,以及如何处理导入报错问题。通过实例解析了模块导入的查找顺序和注意事项,强调了使用包管理和`from xxx import yyy`方式的优点,并分享了在实际项目中遇到的常见问题及解决方案。
最低0.47元/天 解锁文章

380

被折叠的 条评论
为什么被折叠?



