python模块的搜索路径

python模块的搜索路径

一、模块搜索路径的顺序

模块其实就是一个文件,如果要执行文件,首先就需要找到模块的路径(某个文件夹),如果模块的文件路径和执行文件不在同一个文件的目录下,我们就需要指定文件的路径。

模块的搜索路径指的是在导入模块时需要检索的文件夹。

导入模块时查找模块的顺序是:

  1. 先从内存中已经导入的模块中寻找
  2. 内置的模块
  3. 环境变量sys.path中查找
import sys
print(sys.path)



#输出:
['F:\\python学习\\测试\\df', 'F:\\python学习', 'D:\\pythonIDE\\PyCharm 2019.1.3\\helpers\\pycharm_display', 'D:\\Python\\python37.zip', 'D:\\Python\\DLLs', 'D:\\Python\\lib', 'D:\\Python', 'D:\\Python\\lib\\site-packages', 'D:\\pythonIDE\\PyCharm 2019.1.3\\helpers\\pycharm_matplotlib_backend']

==强调:sys.path的第一个值是当前执行文件的所在的文件夹==

1739658-20190818143417025-206595861.jpg

1.1验证先从内存中找

如果我们在运行run.py文件的时候,快速删除mmm.py文件,我们会发现文件会继续运行,而且不会报错,因为mmm.py已经被导入内存,如果我们在一次运行run.py时会报错,因为mmm.py已经被删除了。

#m2.py

def f1():
    print('111')
f1()
import time
import m2
time.sleep(1)
m2.f1()

1.2验证先从内置中找

#time.py
print('111')
import time
print(time)

#输出:<module 'time' (built-in)>

1.3验证从sys.path环境变量中找

4. 环境变量中  (主要记住未来项目的执行文件一定要弄一个环境变量)
import sys
print(sys.path)  # 环境变量,模块就是在这里找
sys.path.append(r'F:\python学习\0016模块基础\04 模块的搜索路径')
# del sys.path[1]
print(sys.path)

import testt
testt.f1()

总结

模块的搜索路径是:内存 --> 内置 --> 自定制 --> 环境变量

转载于:https://www.cnblogs.com/SkyOceanchen/p/11372487.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值