python模块的搜索路径

python模块的搜索路径

1、模块搜索路径的顺序

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

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

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

  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的第一个值是当前执行文件的所在的文件夹==ui

1.1验证先从内存中找

若是咱们在运行run.py文件的时候,快速删除mmm.py文件,咱们会发现文件会继续运行,并且不会报错,由于mmm.py已经被导入内存,若是咱们在一次运行run.py时会报错,由于mmm.py已经被删除了。code

#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()

总结

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

相关文章
相关标签/搜索