On 12/12/2011 00:21, Steven D'Aprano wrote:
I've just started using a Debian system, instead of the usual RedHat
based systems I'm used to, and module.__file__ appears to have
disappeared for some (but not all) modules.

On Fedora:

[steve@orac ~]$ python -E
Python 2.6.2 (r262:71600, Aug 21 2009, 12:22:21)
[GCC 4.4.1 20090818 (Red Hat 4.4.1-6)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
import math
math.__file__
'/usr/lib/python2.6/lib-dynload/mathmodule.so'



and on Debian squeeze:

steve@runes:~$ python -E
Python 2.6.6 (r266:84292, Dec 27 2010, 00:02:40)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
import math
math.__file__
Traceback (most recent call last):
   File "<stdin>", line 1, in<module>
AttributeError: 'module' object has no attribute '__file__'


What's going on?

The documentation for __file__ says: """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."""

Interestingly, none of the versions on Windows that I've tried have
that attribute for the math module. Is it platform-dependent?
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to