On 08/14/2011 02:29 AM, Peter Otten wrote:
brandon w wrote:

On 08/13/2011 04:49 PM, Peter Otten wrote:
How do I find the modules in Tkinter?

The simplest approach is probably to explore your file system:

Step 1: where's Tkinter?

$ python -c 'import Tkinter, os; print os.path.dirname(Tkinter.__file__)'
/usr/lib/python2.6/lib-tk
I have tried # 1. with another command but all I get is an error messages.

$ python -c 'import time, os; print os.path.dirname(time.__doc__)' #
This one gave no output.
You typed time.__doc__ instead of time.__file__. With the latter you'd get
an AttributeError because the time module is implemented in C.

$ python -c 'import time, strftime, os; print
os.path.dirname(strftime.__doc__)'
Traceback (most recent call last):
    File "<string>", line 1, in<module>
ImportError: No module named strftime
Well you cannot import a module that doesn't exist...

$ python -c 'import os; from time import strftime; print
os.path.dirname(strftime.__file__)'
Traceback (most recent call last):
    File "<string>", line 1, in<module>
AttributeError: 'builtin_function_or_method' object has no attribute
'__file__'

$ python -c 'import time, os; print os.path.dirname(time.__file__)'
Traceback (most recent call last):
    File "<string>", line 1, in<module>
    File "/usr/lib/python2.6/posixpath.py", line 119, in dirname
      i = p.rfind('/') + 1
AttributeError: 'NoneType' object has no attribute 'rfind'

$  python -c 'import time, os; print os.path.dirname(time.__package__)'
more errors

I am obviously doing something wrong.
The method to find the location of a module that I gave works only for
modules and only for modules implemented in Python. You can find both
functions and modules implemented in Python with inspect.getsourcefile():

from inspect import getsourcefile
import os
getsourcefile(os) # a module
'/usr/lib/python2.6/os.py'
getsourcefile(os.path) # another module with an interesting filename
'/usr/lib/python2.6/posixpath.py'
getsourcefile(os.walk) # a function implemented in Python
'/usr/lib/python2.6/os.py'
getsourcefile(os.mkdir) # a function implemented in C
Traceback (most recent call last):
   File "<stdin>", line 1, in<module>
   File "/usr/lib/python2.6/inspect.py", line 441, in getsourcefile
     filename = getfile(object)
   File "/usr/lib/python2.6/inspect.py", line 418, in getfile
     raise TypeError('arg is not a module, class, method, '
TypeError: arg is not a module, class, method, function, traceback, frame,
or code object



_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor
Thank a lot for your help. I will study what you have shown me.
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to