[Python-checkins] python/dist/src/Lib os.py,1.70,1.71

gvanrossum@users.sourceforge.net gvanrossum@users.sourceforge.net
2003年5月13日 10:57:25 -0700


Update of /cvsroot/python/python/dist/src/Lib
In directory sc8-pr-cvs1:/tmp/cvs-serv29917
Modified Files:
	os.py 
Log Message:
Add optional 'onerror' argument to os.walk(), to control error
handling.
Index: os.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/os.py,v
retrieving revision 1.70
retrieving revision 1.71
diff -C2 -d -r1.70 -r1.71
*** os.py	25 Apr 2003 07:11:48 -0000	1.70
--- os.py	13 May 2003 17:57:23 -0000	1.71
***************
*** 204,208 ****
 __all__.extend(["makedirs", "removedirs", "renames"])
 
! def walk(top, topdown=True):
 """Directory tree generator.
 
--- 204,208 ----
 __all__.extend(["makedirs", "removedirs", "renames"])
 
! def walk(top, topdown=True, onerror=None):
 """Directory tree generator.
 
***************
*** 233,236 ****
--- 233,243 ----
 generated.
 
+ By default errors from the os.listdir() call are ignored. If
+ optional arg 'onerror' is specified, it should be a function; it
+ will be called with one argument, an os.error instance. It can
+ report the error to continue with the walk, or raise the exception
+ to abort the walk. Note that the filename is available as the
+ filename attribute of the exception object.
+ 
 Caution: if you pass a relative pathname for top, don't change the
 current working directory between resumptions of walk. walk never
***************
*** 260,264 ****
 # to earlier import-*.
 names = listdir(top)
! except error:
 return
 
--- 267,273 ----
 # to earlier import-*.
 names = listdir(top)
! except error, err:
! if onerror is not None:
! onerror(err)
 return
 
***************
*** 275,279 ****
 path = join(top, name)
 if not islink(path):
! for x in walk(path, topdown):
 yield x
 if not topdown:
--- 284,288 ----
 path = join(top, name)
 if not islink(path):
! for x in walk(path, topdown, onerror):
 yield x
 if not topdown:

AltStyle によって変換されたページ (->オリジナル) /