Nick wrote:
I've seen a lot of posts on this problem, but none seems to help.
Here is the code:
/code

file = open(prefix1)
text = file.readlines()
len = len(text)
fields = text[1].split()
num_rows = int(fields[1])
num_cols = int(fields[2])

U1_matrix = []

print fields
print repr(fields)
print len(fields)

for line in text[2: num_rows+2]:
    fields = line.split()
#    print "fields", fields, line
    for i in range(len(fields)):
        fields[i] = float(fields[i])
    U1_matrix.append(fields)

/*code

prefix is a space/line delimited ascii file that represents a 2D
matrix.  i'm trying to read in 2 matrices from different files, strip
away the header stuff and then take the dot product of the 2
matrices.  any help is much appreciated.

thanks,
nick

You have at least two problems with that code, one of which is causing your symptom.

Both 'file' and 'len' are defined in the standard library, and shouldn't be redefined in your code. And your problem is that after you redefined 'len', you then tried to use it in its original meaning.


Rename those two and you'll get further.

And it would have saved lots of time for lots of people if you included sample data and the actual error message, marking where in your code it occurs. Once you know it's complaining about the len() call, it's not too hard to figure out that the problem was you rebound the len attribute from a function to an integer.

Traceback (most recent call last):
 File "M:\Programming\Python\sources\dummy\echo2.py", line 21, in <module>
   print len(fields)
TypeError: 'int' object is not callable


DaveA
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to