我是靠谱客的博主 懵懂大碗,最近开发中收集的这篇文章主要介绍python 中导入其他模块,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

导入其他模块

在写一个稍微大型的python工具或者项目的时候,不可避免的需要大量的导入自定义的模块以及系统模块,由于多层次的目录结构,使得新手再导入自定义模块的经常出现“ModuleNotFoundError: No module named异常”,既找不到该模块的问题

基础概念

模块

模块一般情况下是指一个.py的文件,其他可作为module的文件类型还有".pyo"、".pyc"、".pyd"、".so"、".dll",但Python初学者几乎用不到,module 可看作一个工具类,可共用或者隐藏代码细节,将相关代码放置在一个module以便让代码更好用、易懂,让coder重点放在高层逻辑上

为了避免模名块冲突,Python引入了按目录组织模块的方法,称之为 包(package)。包 是含有Python模块的文件夹。

每个包的文件夹下按照规范应当存在一个__init__.py的文件,用来表示该文件夹是一个包。
init.py文件其中用以组织包,控制着包的导入行为。

一般来讲不要在__init__.py文件中写程序,保证该文件的简介,若要使用 from package import *时,需要在__init__.py中定义__all__变量,导入时会dict中所有文件导入。

__all__ =['filea_name','fileb_name']

模块检索过程以及解决办法

当使用 import 语句导入模块后,Python会按照以下顺序查找指定的模块文件

  • 当前目录下查找
  • 到 PYTHONPATH(环境变量)下的每个目录中查找;
  • python默认安装目录下查找

上面所说的所有目录,均被保存在sys.path中,既sys.path中的路径会被python进行检索,以下是我本机的python的sys.path
在这里插入图片描述

因为python会在sys.path中的路径中检索相应模块,因此解决模块找不到的问题可以从以下几个方面解决问题。

  • 将模块或者包写在当前目录下
  • 将模块的位置添加到sys.path的位置。sys.path.append(“路径”)
  • 将编写的模块的路径添加到系统变量中

参考

http://c.biancheng.net/view/4645.html
https://blog.csdn.net/weixin_38256474/article/details/81228492
https://www.cnblogs.com/bandaobudaoweng/p/10083868.html

最后

以上就是懵懂大碗为你收集整理的python 中导入其他模块的全部内容,希望文章能够帮你解决python 中导入其他模块所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部