分类: Python/Ruby
2010-10-19 22:12:58
方法一使用递归:
"""
def WalkDir( dir, dir_callback = None, file_callback = None ):
for item in os.listdir( dir ):
print item;
fullpath = dir + os.sep + item
if os.path.isdir( fullpath ):
WalkDir( fullpath, dir_callback, file_callback )
if dir_callback: dir_callback( fullpath )
else:
if file_callback: file_callback( fullpath )"""
def DeleteDir( dir ):
print "path"
#os.rmdir( dir )
def DeleteFile( file ):
try:
print "file"
#os.unlink( file )
except WindowsError, e:
pass
WalkDir( os.environ['TEMP'], DeleteDir, DeleteFile )
方法二:‘
import os, stat
def WalkDir( dir, dir_callback = None, file_callback = None ):
for root, dirs, files in os.walk(dir):
for f in files:
print f
file_path = os.path.join(root, f)
if file_callback: file_callback( file_path )
for d in dirs:
dir_path = os.path.join(root, d)
if dir_callback: dir_callback( dir_path )
def DeleteDir( dir ):
print "path"
#os.rmdir( dir )
def DeleteFile( file ):
try:
print "file"
#os.unlink( file )
except WindowsError, e:
pass
WalkDir( os.environ['TEMP'], DeleteDir, DeleteFile )