summarizing what folks have already said plus a few more tweaks such as moving the close() to finally (2.5+), following the style guideline of variable non-titlecasing, removing unused variables, etc.:
#!/usr/bin/env python2.5 def processFile(inputfile): try: fh = open(inputfile, "r") for entry in fh: print "Entry = %s" % entry.strip() except IOError, e: print "\nError occurred opening %s for input\n" % inputfile finally: fh.close() if __name__ == '__main__': processFile('phone') we get this output: $ tony.py Entry = Alias,Phone Entry = JANE SMITH,12131234567 the try-except-finally statement was unified (again) coming up in 2.5. i say again because it was actually there before but removed in version 0.9.6. :-) how about some 2.6 fun and using the with statement to get rid of finally and closing the file, as a 2.5 preview? #!/usr/bin/env python2.5 from __future__ import with_statement def processFile(inputfile): try: with open(inputfile, "r") as fh: for entry in fh: print "Entry = %s" % entry.strip() except IOError, e: print "\nError occurred opening %s for input\n" % inputfile the context management of the with statement will automagically close the file regardless of exceptions so you do not need to worry about it. in 2.6, both 'with' and 'as' become keywords -- you will be warned in 2.5. cheers, -- wesley - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "Core Python Programming", Prentice Hall, (c)2007,2001 http://corepython.com wesley.j.chun :: wescpy-at-gmail.com python training and technical consulting cyberweb.consulting : silicon valley, ca http://cyberwebconsulting.com _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor