another problem with modules
MRAB
python at mrabarnett.plus.com
Thu Feb 17 12:44:57 EST 2011
On 17/02/2011 17:11, Tim Hanson wrote:
> Okay, I solved my problem with Python finding modules:
>
> I put the following into a file in my home directory, on the good advice of
> Andrea Crotti:
>
> import sys
> sys.path.append('/home/foo/mypath'
>
> I named the file "~/pypath.py", so now, in idle:
>
> import pypath
>
> No errors.
>
> I'm still getting a little frustrated loading modules. I typed the following
> little test function into idle:
>
> def intersect(seq1,seq2):
> res=[]
> for x in seq1:
> if x in seq2:
> res.append(x)
> return res
>
> intersect('spam','spmmer')
>
>
> No big deal. Runs fine. Exited and re-entered idle,
>
> import pypath
> import intersect #the name of a file that contains the above short function.
This imports the module 'intersect'. The name 'intersect' refers to the
module itself.
> intersect('spam','spmmer')
This tries to call the module. Perhaps you meant:
intersect.intersect('spam','spmmer')
If you have a module "foo", which contains a function "bar", then "foo"
refers to the module and "foo.bar" refers to the function.
>
> Traceback (most recent call last):
> File "<pyshell#2>", line 1, in<module>
> intersect('spam','spmmer')
> TypeError: 'module' object is not callable
>>>>
>
> Huh? Why doesn't this run when imported? More importantly, how do I
> interpret this error message so that I can find the problem myself next time?
More information about the Python-list
mailing list