python遍历目录的方法小结

yipeiwu_com6年前Python基础

本文实例总结了python遍历目录的方法。分享给大家供大家参考,具体如下:

方法一使用递归:

"""
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程序设计有所帮助。

相关文章

python字典setdefault方法和get方法使用实例

这篇文章主要介绍了python字典setdefault方法和get方法使用实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在pyt...

Python进度条的制作代码实例

这篇文章主要介绍了Python进度条的制作代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 import sys,time...

Python中单、双下划线的区别总结

前言 Python 的代码风格由 PEP 8 描述。这个文档描述了 Python 编程风格的方方面面。在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风...

使用PyInstaller将Python程序文件转换为可执行程序文件

Windows下采用PyInstall将py文件转换成exe可执行文件 好不容易写完的py文件,想做成exe文件,最开始选择用py2exe,结果生成的exe遇到两个问题, 1. py程序...

Python操作Sql Server 2008数据库的方法详解

Python操作Sql Server 2008数据库的方法详解

本文实例讲述了Python操作Sql Server 2008数据库的方法。分享给大家供大家参考,具体如下: 最近由于公司的一个项目需要,需要使用Sql Server 2008数据库,开发...