problems iterating over a files lines

James Henderson james at
Wed Jan 21 17:27:55 CET 2004

On Wednesday 21 January 2004 4:00 pm, Jesse Noller wrote:
> I am a relative newbie to python and I am having issues trying to
> iterate over the lines of a file.
> I have a text file - inside of this file are lines of text:
> x-3411342
> y-1324123
> w-2314121
> Each with a trailing \n to designate the end of the line.
> I am trying to read this file into python - which is simply in and of
> itself, however:
> file = open("", "rb")
> while 1:
>     lines ='\n'):
>     if not lines:
>            break
>     for lines in lines:
>            key = line
>            get.key(key)
>            results = [key, get.up, get.down]
> file.close()
> Appends an extra "blank" line to the list of lines, which causes the
> program to crash - secondly, I've looked at about 20 examples, and all
> of them (including this one) suffer from the problem of looping over
> the lines for the number of lines.
> What I want to do is open the contents of the file - read the line and
> set a variable - key, and for each line in the file, I want to do
> something with that key - but only once. So I want to read in a line,
> set to a variable, do something, print, and then do it for the next
> line.

First I take it:

>     lines ='\n'):

should have been:

>     lines ='\n'):

If you used instead you would avoid the extra blank 

A much better way to iterate line-by-line through the list is simply:

for line in file("", "rb"):
    # do something to line

(I'm using the built-in file() function - strictly type - which is the new 
name for open().)

I don't know where your "get" comes from so I can't help you with the rest.

James Henderson, Logical Progression Ltd.

More information about the Python-list mailing list