python如何得到模块所在的目录

查找一个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寻找模块的顺序:

  1. 搜索内置模块(因此编程时不可以使用内置模块名作文件名或变量名)
  2. 搜索sys.path路径

sys.path初始化时会按照以下顺序添加模块:

  1. 当前执行脚本文件所在目录
  2. 环境变量PYTHONPATH中所列出的目录
  3. 模块默认安装目录

——参考:

https://www.cnblogs.com/pluse/p/8667864.html

原文地址:https://www.cnblogs.com/phever/p/14975016.html