On Fri, 2 Jul 2010 11:16:02 pm David Hutto wrote:
> In the code below, I'm trying to read from a file, and print out the
> lines. 

f = open("filename.txt")
for line in f:
    print line
f.close()

is all you need, and even the close at the end is optional (but 
recommended).


> I know I've seen the exact function I'm looking for here, but 
> it seems like the below 'should' work.
>
> The second function(rdfil) works, if just the line number is placed
> there, and th first(increment) works for printing a new number in
> range for the rdfil to operate while going through the lines in the
> file.
> Any other options other than using linecache.getline(I'm sure there
> are, just haven't jogged the right memory cell loose yet)?
>
> def increment():
>       for number in range(1, 500):
>               print number ++1

Why do you have number ++1 instead of just number+1 ?

For that matter, why do you have number+1 instead of changing the range 
to range(2, 501)?


> def rdfil():
>       outputfile = raw_input('Input file name: ')

This puts a *string* in the variable outputfile. A better name would 
be "outputfilename", because it is a file NAME, not a file.

>       for line in outputfile:

This is terribly misleading, because iterating over a string gives you 
the individual characters of the string, not lines. E.g.:

for line in "file.txt":
    print line

will print:

f
i
l
e
.
t
x
t

>               if line:

This will always be true, and so is pointless. Even an empty line is not 
truly empty, as it will be a newline character. When the file is empty, 
the for-loop will exit.

>                       readcont = linecache.getline(outputfile, increment) 
> '''increment
> is originally supposed to be an int for the line number being read'''

This line gives a syntax error. What is it supposed to be? What is the 
purpose of the string? It looks like it is meant to be a comment, but 
why have you written it as a string instead of a # comment?


-- 
Steven D'Aprano
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to