Python的__file__实际上做了什么?

时间:2013-07-02 14:53:21

标签: python

我一直认为__file__变量总是给你当前的文件名,但这似乎并不完全是它的作用。因为如果我认为这是真的,我一直面临着一个错误。

有人告诉我“__file__指的是搜索到的最后一个模块” 这似乎更准确,但我想知道__file__应该做什么。

我找不到Python文档中提到的任何具体内容。 很多地方似乎都提到了它,但不是很清楚。

http://docs.python.org/2/c-api/import.html?highlight=__file__

http://docs.python.org/2/c-api/module.html?highlight=__file__

1 个答案:

答案 0 :(得分:4)

 __file__ is the pathname of the file from which the module was loaded, if it was loaded from a file. The __file__ attribute is not present
 for C modules that are statically linked into the interpreter; for
 extension modules loaded dynamically from a shared library, it is the
 pathname of the shared library file.

从这里: http://mail.python.org/pipermail/python-dev/2010-February/097461.html