Silly import question (__file__ attribute)
Jack Diederich
jack at performancedrivers.com
Thu Mar 9 17:25:20 EST 2006
On Thu, Mar 09, 2006 at 02:04:45PM -0800, mh wrote:
> So on most modules I import, I can access the .__file__ attribute to
> find the implementation. ie:
> >>> import time
> >>> time.__file__
> '/data1/virtualpython/lib/python2.3/lib-dynload/timemodule.so'
> >>> import socket
> >>> socket.__file__
> '/data1/virtualpython/lib/python2.3/socket.pyc'
>
> This doesn't work on the "thread" module:
> >>> import thread
> >>> thread.__file__
> Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> AttributeError: 'module' object has no attribute '__file__'
>
> A few questions. Why? Where is thread.py or thread.so? (I can't find
> it).
>
Python 2.4.1 (#2, Mar 30 2005, 21:51:10)
[GCC 3.3.5 (Debian 1:3.3.5-8ubuntu2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> import thread
>>> sys.modules['thread']
<module 'thread' (built-in)>
>>> thread
<module 'thread' (built-in)>
>>> ^D
sprat:~# cd ~/src/python-head/Modules/
sprat:~/src/python-head/Modules# ls thread*
threadmodule.c threadmodule.o
It is a built-in module so it doesn't have a .so (dll) or .py file
to mention.
-Jack
More information about the Python-list
mailing list