python查询模块路径_详解python模块路径查找规则及定义

原标题:详解python模块路径查找规则及定义

在python中创建一个模块非常简单,只需要在当前目录下创建一个 .py文件即可,系统自动将其解析成模块,文件名就是模块名。很多我们源码时代的同学都认为在查找模块时优先使用当前目录下的自定义模块。其实不然,接下来我们一起来看看python模块路径查找规则以及如何自定义模块路径。

在详细解析python查找模块的路径时,我们先来了解一下python中有些什么样的模块。在python中,模块主要有:

内建模块(built-in):在安装python解析器时就自动安装,不以文件形式存在

系统标准模块:安装python时自动安装,默认放在 /Lib/目录下

第三方模块:可以使用pip命令进行安装和管理,默认放在/Lib/site-packages/目录下

自定义模块:自己写的模块,可以放在当前目录,也可以放在任意其它位置

查看模块路径可以通过 sys.modules 属性实现。

a65cf2c561e2499198a9bcd33779a487.jpeg

这些模块在引入和使用时一视同仁,只不过默认查找的顺序是不一样的。python在查找时也有先后顺序,同名的模块如果优先级高则更先被查找到并使用。接下来我们按优先级从高到低给大家一一解析。

内建模块(built-in)

内建模块就是系统内置的模块,在引入模块时最优先被使用,比如:sys、math、time等模块,

我们可以举例说明,在当前目录下创建一个 math.py的文件,再引入math模块。其实使用到的还是系统的内建模块,说明内建模块的优先级高于当前文件夹下的自定义模块。

d521c1a850414132a01bc193b12eefaf.jpeg

08b31960aa854f2f959bf1bfede41f68.jpeg

自定义模块

除了系统内建模块以外,其它所有模块都是以文件形式存在,优先级由 sys.path 列表的先后位置确定。

000b5889f84840a5b20d5410ec37222f.jpeg

自定义模块可以写在当前文件夹下,而当前文件夹是sys.path 的第一个值,所以优先级较高,仅次于内建模块

系统标准模块

系统标准模块不需要单独安装,在安装python解析器时就自动安装好了,存在于python程序目录下的 Lib目录中。

3546a40b24354b459da6e535651bae16.jpeg

第三方模块

第三方模块是由pip命令安装和管理的模块,存在于安装程序的 Lib目录下的site-packages目录中。

f0a3920f6617430b9b6996f81df4b15b.jpeg

今天我们给大家详解python模块路径查找规则及定义就说到这里了,其实除了内建模块以外,其它模块的优先级都是可以调整的,只在修改 sys.path 列表的先后顺序就行了。

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值