# Problem reading file manipualting values therein, Python

• Comp Sci
I was trying to write code that would read integers stored in a file, line by line and then save them to a list and average that list and display it, it didn't work. What can I do to correct this code, I believe that the error is in how I am treating the list but I am confused at why the interpreter can't understand it.

I'm still to this and appreciate the help

-- The attempt at a solution

Code:
if (os.path.isfile("Testing_1.txt")):
inFile = open("Testing_1.txt", "r")
list_to_av=[ ]

inLine = inFile.readline()
while len(inLine) > 0:

inLine = inFile.readline()
list_to_av.append((inLine))
print  int(str(list_to_av))/ len(list_to_av)
inFile.close()
else:
print "Testing_1.txt cannot be found."

Last edited:

## Answers and Replies

Dick
Science Advisor
Homework Helper
There are several errors in there. But it's best that you find them yourself. When I run that with a sample input file, I get:
ValueError: invalid literal for int() with base 10: "['2\\n', '3\\n', '']"
Doesn't that mean something to you? What is 'int' supposed to do?

Last edited:
int is supposed to convert the data type in this case the literal values aren't only "numbers" so it crashes

I understand that error but I don't understand what the correct approach is

Dick
Science Advisor
Homework Helper
int converts a string to a single number. If it can. And it doesn't sum over numbers in the string. "['2\\n', '3\\n', '']" doesn't convert to single number. It's a string representation of a list of strings. Maybe you should convert the strings to numbers as they are read in and sum the numbers? The error message from 'int' is giving you the string it was trying to convert. Try and empathize with 'int' and figure you why you would have a hard time converting that to a number.

I understand that int cant convert the strings in the list because of the \\n, because it is not a number like I said above

What I don't understand is where or how I use the list to provide me with something that is not a string but is and integer

If I attempt to take the strings and store them as they are read how would I convert them to ints?

Dick
Science Advisor
Homework Helper
I understand that int cant convert the strings in the list because of the \\n, because it is not a number like I said above

What I don't understand is where or how I use the list to provide me with something that is not a string but is and integer

If I attempt to take the strings and store them as they are read how would I convert them to ints?

Why don't you convert inLine to an integer and store the integers into a list?

I see fo the reason that it has the read in it I didn't think I could convert inLine, and so never tried when fiddling around with the code, I wonder why I thought that.