如果你在文件遍历中,你在递归写的过程中调试了好久。也弄不出相关的结果,你是否希望找到相关的方案对其有一个解答,以下就是对Python os.walk 遍历目录的介绍,通过此方案你就可以对前文中所说的问题迎刃而解。

先看下代码:
import os 
  • for i in os.walk('c:'+os.sep+'ant'): 
  • print i[1]   

下面是输出:


    c:\ant 
  • c:\ant\bin 
    c:\ant\docs 
  • c:\ant\docs\ant2 
    c:\ant\docs\antlibs 
  • c:\ant\docs\antlibs\antunit 
    c:\ant\docs\antlibs\compress 
  • c:\ant\docs\antlibs\dotnet 
    c:\ant\docs\antlibs\props 
  • c:\ant\docs\antlibs\svn 
    c:\ant\docs\images 
  • c:\ant\docs\manual 
    c:\ant\docs\manual\api 
  • c:\ant\docs\manual\api\org 
    c:\ant\docs\manual\api\org\apache 
  • c:\ant\docs\manual\api\org\apache\tools 
    c:\ant\docs\manual\api\org\apache\tools\ant 
  • c:\ant\docs\manual\api\org\apache\tools\ant\dispatch 
  • c:\ant\docs\manual\api\org\apache\tools\ant\filters   


后面还有很长.
如果不使用这个方法,遍历同样能达到效果.不过使用 os.walk 方便很多了.这个方法返回的是一个三元
  • tupple(dirpath, dirnames, filenames), 

其中第一个为起始路径,
第二个为起始路径下的文件夹,
第三个是起始路径下的文件.
dirpath是一个string,代表目录的路径,
dirnames是一个list,包含了dirpath下所有子目录的名字,
filenames是一个list,包含了非目录文件的名字.这些名字不包含路径信息,如果需要得到全路径,需要使用 os.path.join(dirpath, name).

以上内容就是对Python os.walk 遍历目录的实际相关介绍。