python sys.path返回模块搜索路径

sys.path

python标准库sys.path可以返回python模块的搜索查询的路径,初始化时,使用的是PYTHONPATH环境变量的值,为什么呢,参考下方什么是模块搜索路径的。


什么是模块搜索路径

(仅为个人理解,仅供参考)在python编程的时候,当需要用到某一些库,或者称为模块的时候,需要在python文件的开头导入该库或模块,比如import sys。在导入这个模块,或引入这个模块之后,调用该模块当中的函数或属性的时候,python就需要找到该模块文件,通过“找到该模块文件的路径”。如果模块的文件路径和当前调用该模块的文件不再同一个目录下,就需要在当前文件指定该模块文件的路径,比如“from xxx import yyy”。


sys.path实例代码

提示:如下代码运行输出于mac osx环境,与windows的路径格式有所不同:

>>> import sys
>>> sys.path
['', '/opt/anaconda3/lib/python37.zip', '/opt/anaconda3/lib/python3.7', '/opt/anaconda3/lib/python3.7/lib-dynload', '/opt/anaconda3/lib/python3.7/site-packages', '/opt/anaconda3/lib/python3.7/site-packages/aeosa']
>>> type(sys.path)
<class 'list'>

sys.path列表属性

如上代码的输出,sys.path的本质是一个python列表,因此具备了python列表list的诸多方法,比如append()、pop()、remove()等等来自定义python的模块搜索路径,比如下方的实例代码:

>>> sys.path.append('/Users/z')
>>> sys.path
['', '/opt/anaconda3/lib/python37.zip', '/opt/anaconda3/lib/python3.7', '/opt/anaconda3/lib/python3.7/lib-dynload', '/opt/anaconda3/lib/python3.7/site-packages', '/opt/anaconda3/lib/python3.7/site-packages/aeosa', '/Users/z']
>>> sys.path.remove('/Users/z')

全栈后端 / Python库 :









Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.