William Miner wrote:
I’m relative new to python and I puzzled by the following strange (to me) behavior. I was taking pieces from two old scripts to build a new one. When I began to debug it I got the following error message:

Traceback (most recent call last):
File "/Users/williamminer/ex2gen/ex2gen-3.0.5/src/ScriptDev/run_ex2gen_scan.py", line 38, in <module>
    if re.search('varm',line):
AttributeError: 'function' object has no attribute 'search'

This had worked in the previous script but not the new one. I noticed that the new script had an additional line at the beginning (line 3)

#!/usr/bin/env python
import sys, math, os, shutil, commands, re, mpmath
from mpmath import *

When I deleted this line, the script ran. Why did the line

from mpmath import *

Trash the search function fro the regular expression module?

I’m running Python 2.6.2 on  Mac running OS 10.6.3.

When you write:

    from mpmath import *

you're importing all the 'public' names (by which I mean those not
starting with '_') from the mpmath module.

The mpmath module happens to contain a function called 're', so 're'
will now refer to that function instead of the re module.

That's why using "import *" is usually a bad idea.
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to