[Tutor] replacing while loop

Alan Gauld alan.gauld at btinternet.com
Sat Sep 8 09:31:42 CEST 2007


"Christopher Spears" <cspears2002 at yahoo.com> wrote 

> 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?

The loop simply detects if the file exists *or not*
If the file does not exist you exit the loop.
Can you find a way using try/except to detect 
if the file does not exist?

That will replace the body of the while loop, 
I can't think of any way to replace the loop itself 
with try./except...

And I agree this is not an obvious place to use 
try/except. Your earlier example is more typical.

-- 
Alan Gauld
Author of the Learn to Program web site
http://www.freenetpages.co.uk/hp/alan.gauld



More information about the Tutor mailing list