By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,361 Members | 1,677 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,361 IT Pros & Developers. It's quick & easy.

Putting a line from a text file into a variable, then moving to nextline

P: n/a
I'm not really sure how readline() works. Is there a way to iterate
through a file with multiple lines and then putting each line in a
variable in a loop?
Oct 7 '07 #1
Share this Question
Share on Google+
4 Replies


P: n/a
Vernon Wenberg III wrote:
I'm not really sure how readline() works. Is there a way to iterate
through a file with multiple lines and then putting each line in a
variable in a loop?
To know how something works you can always check the docs about this
specific functionality:
>>a = open('a')
help(a.readline)
Help on built-in function readline:

readline(...)
readline([size]) -next line from the file, as a string.

Retain newline. A non-negative size argument limits the maximum
number of bytes to return (an incomplete line may be returned then).
Return an empty string at EOF.
>>help(a.readlines)
Help on built-in function readlines:

readlines(...)
readlines([size]) -list of strings, each a line from the file.

Call readline() repeatedly and return a list of the lines so read.
The optional size argument, if given, is an approximate bound on the
total number of bytes in the lines returned.
>>>

If you are creating new variables on every loop iteration you might be
interested in two things:

- you can loop directly through the file, on a line by line basis
- you can assign the read line to a an array
Oct 7 '07 #2

P: n/a
I'm not really sure how readline() works. Is there a way to iterate
through a file with multiple lines and then putting each line in a
variable in a loop?
You can use readlines() to get the whole line (including the
newline):

lines = file('x.txt').readlines()

or you can iterate over the file building a list without the newline:

lines = [line.rstrip('\n') for line in file('x.txt')]

Thus, line[0] will be the first line in your file, line[1] will
be the second, etc.

-tkc


Oct 7 '07 #3

P: n/a
On Sun, 07 Oct 2007 12:00:44 +0000, Vernon Wenberg III wrote:
I'm not really sure how readline() works. Is there a way to iterate
through a file with multiple lines and then putting each line in a
variable in a loop?
There are always more ways how to do it.. one of them is:

f = open(filename)
for line in f:
# you may then strip the newline:
line = line.strip('\n')
# do anything you want with the line
f.close()
Oct 7 '07 #4

P: n/a
On 07/10/2007, Tim Chase <py*********@tim.thechases.comwrote:
I'm not really sure how readline() works. Is there a way to iterate
through a file with multiple lines and then putting each line in a
variable in a loop?

You can use readlines() to get the whole line (including the
newline):

lines = file('x.txt').readlines()

or you can iterate over the file building a list without the newline:

lines = [line.rstrip('\n') for line in file('x.txt')]

Thus, line[0] will be the first line in your file, line[1] will
be the second, etc.
or splitlines()
>> lines = open('x.txt').read().splitlines()
:)
Oct 7 '07 #5

This discussion thread is closed

Replies have been disabled for this discussion.