[Tutor] function loading a file's lines to a list

Ewald Ertl ewald.ertl at hartter.com
Fri Apr 1 12:46:57 CEST 2005


Hi!

on Fri, 01 Apr 2005 12:01:02 +0200  Adriano Varoli Piazza <moranar at moranar.com.ar> wrote :
---------------------------------------------------------------------------------------------

Adriano Varoli Piazza > 
Adriano Varoli Piazza > def loadfromfile(fname):
Adriano Varoli Piazza >     try:
Adriano Varoli Piazza >         finput = file(fname, 'r')
Adriano Varoli Piazza >         global lines

global say, that lines is "global" defined. Otherwise as in your first 
version the lines-List is defined local in the loadfromfile()-function. 
(You can return the local list and assign it, where you call the loadfromfile()-
function. )

Adriano Varoli Piazza >         lines = []
Adriano Varoli Piazza >         for line in finput:
Adriano Varoli Piazza >             line = line[:-1]
Adriano Varoli Piazza >             lines.append(line)
Adriano Varoli Piazza >         finput.close()
Adriano Varoli Piazza >         #return lines

As you do not use the returned value of loadfromfile(), it's useless here.

Adriano Varoli Piazza >     except:
Adriano Varoli Piazza >         print "Couldn't load from file %s" % (fname)
Adriano Varoli Piazza > 
Adriano Varoli Piazza > works (with or without the return lines statements, that's why I
Adriano Varoli Piazza > commented it), but I don't understand why. I know lists are modified in-
Adriano Varoli Piazza > place, so I'd imagine it would work in the first case too.
Adriano Varoli Piazza > 

------------------- end ----------------------

HTH Ewald



More information about the Tutor mailing list