论坛首页 编程语言技术论坛

python小例子之1 -- 递归遍历目录

浏览 13817 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-08-25  
        主题: 递归遍历目录
        环境: winxp pro + sp2 + python2.5
        备注: 请注意,凡是在源代码文件中使用了中文字符,请最好保存为utf-8格式
        代码:
       
python 代码
 
  1. #listdir.py
  2. import os  
  3. # 递归遍历指定的目录  
  4. # level -- 递归的层数,用这个参数来控制打印的缩进  
  5. # path  == 遍历起始绝对路径  
  6. def listyoudir(level, path):  
  7.     for i in os.listdir(path):  
  8.         print '  '*(level+1) + i  
  9.         if os.path.isdir(path + '\\' + i):  
  10.             listyoudir(level+1, path + '\\' + i)  
  11.           
  12. #测试代码  
  13. rootpath = os.path.abspath('.')  
  14. print rootpath  
  15. listyoudir(0, rootpath)  
 
        测试:  将该代码生成py文件,放在某目录下执行,可递归遍历所有目录和文件
   发表时间:2007-08-27  
python提供了两个很强大的函数os.walk/os.path.walk来干这个脏活.
前面那个的界面很简洁,后面那个可以有细腻的控制(和本例差不多).
不过,就像LZ给的例子,手写其实也很简洁.
不过注意到一点,考虑到跨平台,目录间的分隔符还是需要用os.sep比较安全一点.
0 请登录后投票
   发表时间:2007-08-27  
to charon:
        thx,我再增加一段使用os.walk/oa.path.walk的例子代码 
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics