如何通过Python的__file__属性获取模块源文件路径?
- 内容介绍
- 文章标签
- 相关推荐
本文共计470个文字,预计阅读时间需要2分钟。
在阅读模块文档时,如果遇到指定模块(或包含)没有明确说明文档,可以通过调用 `help()` 函数或查看 `__doc__` 属性来获取帮助。如果这些方法也无法提供有效帮助,我们可以通过查看 `__file__` 属性来获取模块的源文件路径,进一步查阅相关文档或源代码来理解该模块的具体功能。
前面章节提到,当指定模块(或包)没有说明文档时,仅通过 help() 函数或者 __doc__ 属性,无法有效帮助我们理解该模块(包)的具体功能。在这种情况下,我们可以通过 __file__ 属性查找该模块(或包)文件所在的具体存储位置,直接查看其源代码。仍以前面章节创建的 my_package 包为例,下面代码尝试使用 __file__ 属性获取该包的存储路径:
import my_package print(my_package.__file__) 程序输出结果为:
C:\Users\mengma\Desktop\my_package\__init__.py
注意,因为当引入 my_package 包时,其实际上执行的是 __init__.py 文件,因此这里查看 my_package 包的存储路径,输出的 __init__.py 文件的存储路径。再以 string 模块为例:
import string print(string.__file__) 程序输出结果为:
D:\python3.6\lib\string.py
由此,通过调用 __file__ 属性输出的绝对路径,我们可以很轻易地找到该模块(或包)的源文件。
本文共计470个文字,预计阅读时间需要2分钟。
在阅读模块文档时,如果遇到指定模块(或包含)没有明确说明文档,可以通过调用 `help()` 函数或查看 `__doc__` 属性来获取帮助。如果这些方法也无法提供有效帮助,我们可以通过查看 `__file__` 属性来获取模块的源文件路径,进一步查阅相关文档或源代码来理解该模块的具体功能。
前面章节提到,当指定模块(或包)没有说明文档时,仅通过 help() 函数或者 __doc__ 属性,无法有效帮助我们理解该模块(包)的具体功能。在这种情况下,我们可以通过 __file__ 属性查找该模块(或包)文件所在的具体存储位置,直接查看其源代码。仍以前面章节创建的 my_package 包为例,下面代码尝试使用 __file__ 属性获取该包的存储路径:
import my_package print(my_package.__file__) 程序输出结果为:
C:\Users\mengma\Desktop\my_package\__init__.py
注意,因为当引入 my_package 包时,其实际上执行的是 __init__.py 文件,因此这里查看 my_package 包的存储路径,输出的 __init__.py 文件的存储路径。再以 string 模块为例:
import string print(string.__file__) 程序输出结果为:
D:\python3.6\lib\string.py
由此,通过调用 __file__ 属性输出的绝对路径,我们可以很轻易地找到该模块(或包)的源文件。

