# **************************************************************************
# Python学习
# **************************************************************************
# ** 所属主题: 模块
# ** 所属分层: 42 模块的搜索路径优先级
# ** 功能描述: 42 模块的搜索路径优先级
# ** 创 建 者: 陈红伟
# ** 创建日期: 2021/4/18 6:57 下午
# **************************************************************************
# ** 修改日期 修改人 修改内容
# ** 2021/4/18 陈红伟 新增学习内容代码
# **************************************************************************
"""
1、模块查找优先级
"""
# 无论是import还是from ... import 在导入模块是都涉及查找问题
# 优先级:
# 1、内存(内置模块)
# 2、按照sys.path中存放的文件的顺序依次查找要导入的模块
import sys
print(sys.path) # ['/Users/chenhongwei/PycharmProjects/python-learn/Egon202003/01 python基础', '/Users/chenhongwei/PycharmProjects/python-learn', '/Library/Frameworks/Python.framework/Versions/3.8/lib/python38.zip', '/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8', '/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages']
# 值为一个列表,存放了一系列的文件夹,其中第一个文件夹是当前执行文件所在的文件夹
print(sys.modules.__contains__('foo')) # False # sys.modules 看当前加载进内存中的模块有哪些,这里返回False,说明foo还没被加载进内存
import foo # 将foo加载到内存中了
foo.f() # 1
print(sys.modules.__contains__('foo')) # True
import foo # 从内存中找foo
foo.f()
print(sys.modules.__contains__('foo')) # True
"""
2、sys的应用
"""
# 把foo.py对应的文件夹临时加入sys.path中去:append()
sys.path.append('/Users/chenhongwei/PycharmProjects/python-learn/Egon202003/01 python基础/foo.py')
Python基础42:模块的搜索路径优先级、sys应用
最新推荐文章于 2023-03-17 20:01:05 发布