查找一个python模块所在的路径,可以使用‘__file__’方法获取模块的路径。
如:
import os print(os.__file__)
得到‘os’模块的路径:“'C:\Users\username\anaconda3\lib\os.py'”
若在自建一个模块,同样方法可以得到该模块的路径:
import test print(test.__file__)
也可以得到test.py文件所在的目录:“'C:\self\user\src\test\test.py'”
但并不是所有模块都能得到模块的路径,若不是用python语言编写的模块,便得不到其路径。如:
import sys print(sys.__file__)
得到的是一段错误信息:“AttributeError: module 'sys' has no attribute '__file__'”,这说明sys模块不是用python编写的。
通过查看所使用的模块的代码,可以了解一些编程的细节,也方便程序查错。
import查找模块的顺序是:
import寻找模块的顺序:
- 搜索内置模块(因此编程时不可以使用内置模块名作文件名或变量名)
- 搜索sys.path路径
sys.path初始化时会按照以下顺序添加模块:
- 当前执行脚本文件所在目录
- 环境变量PYTHONPATH中所列出的目录
- 模块默认安装目录
——参考:
https://www.cnblogs.com/pluse/p/8667864.html