[Tutor] Re: Copy without overwrite?
Bernard Lebel
python at bernardlebel.com
Wed Sep 22 13:20:26 CEST 2004
Hi Kent, I implemented your suggestions. I have one question about the error handling thing.
Do you keep at the end of the loop the raise statement?
if errors:
raise s.Error, errors
Thanks
Bernard
----- Original Message -----
From: "Kent Johnson" <kent_johnson at skillsoft.com>
To: <tutor at python.org>
Sent: Wednesday, September 22, 2004 12:11 PM
Subject: Re: [Tutor] Re: Copy without overwrite?
> Hi Bernard,
>
> Congratulations on getting this working! Of course I have a couple of
> suggestions :-)
>
> - I notice you call shutil.copytree() if the destination directory is not
> there. This is fine but not necessary - you could just create the directory
> and call softcopy() again. That would make the program self-contained and
> maybe easier to understand - it wouldn't have the two different paths for
> recursion. OTOH you could consider the call to copytree() an optimization,
> since at that point you know you don't have to check for existence of the
> destination files anymore. Either way is fine, really.
>
> - If you do call copytree() you should change your exception handler. Just
> like softcopy(), copytree() catches IOError and wraps them in a
> shutil.Error. The data in the Error is a list of failures. So for the call
> to copytree(), instead of (or in addition to) catching IOError and creating
> a new error list entry, you should catch Error and extend your list with
> the list the Error contains:
>
> try:
> s.copytree( srcname, dstname )
> print 'DONE'
> except os.error, why:
> print 'FAILED'
> errors.append( ( srcname, dstname,
> why ) )
> except (s.Error), why:
> print 'FAILED'
> errors.extend( why )
>
> Kent
>
> At 11:05 AM 9/22/2004 +0200, Bernard Lebel wrote:
> >Thanks to everyone!
> >
> >Attached is my final script, in txt format.
> >
> >
> >Bernard
> >
> >
> >
> >
> >_______________________________________________
> >Tutor maillist - Tutor at python.org
> >http://mail.python.org/mailman/listinfo/tutor
>
> _______________________________________________
> Tutor maillist - Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor
>
>
More information about the Tutor
mailing list