首页 > Python > Python模块和包 阅读:14,110

Python __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__ 属性输出的绝对路径,我们可以很轻易地找到该模块(或包)的源文件。

注意,并不是所有模块都提供 __file__ 属性,因为并不是所有模块的实现都采用 Python 语言,有些模块采用的是其它编程语言(如 C 语言)。

编程帮,一个分享编程知识的公众号。跟着站长一起学习,每天都有进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

文章不深奥,不需要钻研,在公交、在地铁、在厕所都可以阅读,随时随地涨姿势。

文章不涉及代码,不烧脑细胞,人人都可以学习。

当你决定关注「编程帮」,你已然超越了90%的程序员!

编程帮二维码
微信扫描二维码关注