[Tutor] replacing while loop

Christopher Spears cspears2002 at yahoo.com
Sat Sep 8 07:43:22 CEST 2007


I've been reading 'Core Python Programming (2nd
Edition)'.  I have been given the following script:

#!/usr/bin/env python

'makeTextFile.py -- create text file'

import os

# get filename
while True:
    fname = raw_input('Enter file name: ')
    if os.path.exists(fname):
        print"*** ERROR: '%s' already exists" % fname
    else:
        break

# get file content (text) lines
all = []
print "\nEnter lines ('.' by itself to quit).\n"

# loop until user terminates input
while True:
    entry = raw_input('> ')
    if entry == '.':
        break
    else:
        all.append(entry)

# write lines to file with NEWLINE line terminator
fobj = open(fname, 'w')
fobj.write('\n'.join(all))
fobj.close()
print 'DONE!'

I have been asked to replace this while loop with a
try and except clause:

while True:
    fname = raw_input('Enter file name: ')
    if os.path.exists(fname):
        print"*** ERROR: '%s' already exists" % fname
    else:
        break

I'm not sure how to do this.  I looked at the back of
the book, and I don't see an exception that is raised
when a previously existing file is found.  Any hints?


More information about the Tutor mailing list