方法一使用递归:
""" 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 )
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。