"David Hutto" <smokefl...@gmail.com> wrote

In the code below, I'm trying to read from a file, and print out the lines.

Steven addressed that but...

def increment():
     for number in range(1, 500):
         print number ++1

This function if called will print out all of the numbers at once, it won't return anything.
I don't think thats what you want. Maybe it was:

def increment()
    for number in range(500)
yield number + 1 # returns the numbers 1.....500, one number per call.

There are better ways to do that but this was the nearest guess
I could make to your possible intent...

readcont = linecache.getline(outputfile, increment) '''increment is

Here you pass the name of the function increment, I suspect
that you meant to do

readcont = linecache.getline(outputfile, increment() )

where increment was like the generator function above.

However even if you did want to do that using enumerate() would
probably be more effective. So slightly mofdifying Steven's code:

f = open("filename.txt")
for number, line in enumerate(f):
   print "%5d%s" % (number, line)
f.close()


Is that close?


--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/



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

Reply via email to