Python读取一个目录下所有目录和文件的方法

原创 2017-01-16 17:32:41 497
摘要:本文实例讲述了Python读取一个目录下所有目录和文件的方法。分享给大家供大家参考,具体如下:这里介绍的是刚学python时的一个读取目录的列子,给大家分享下:#!/usr/bin/python # -*- coding:utf8 -*- import os allFileNum = 0 def printPath(level,

本文实例讲述了Python读取一个目录下所有目录和文件的方法。分享给大家供大家参考,具体如下:

这里介绍的是刚学python时的一个读取目录的列子,给大家分享下:

#!/usr/bin/python
# -*- coding:utf8 -*-
import os
allFileNum = 0
def printPath(level, path):
 global allFileNum
 '''
 打印一个目录下的所有文件夹和文件
 '''
 # 所有文件夹,第一个字段是次目录的级别
 dirList = []
 # 所有文件
 fileList = []
 # 返回一个列表,其中包含在目录条目的名称(google翻译)
 files = os.listdir(path)
 # 先添加目录级别
 dirList.append(str(level))
 for f in files:
  if(os.path.isdir(path + '/' + f)):
   # 排除隐藏文件夹。因为隐藏文件夹过多
   if(f[0] == '.'):
    pass
   else:
    # 添加非隐藏文件夹
    dirList.append(f)
  if(os.path.isfile(path + '/' + f)):
   # 添加文件
   fileList.append(f)
 # 当一个标志使用,文件夹列表第一个级别不打印
 i_dl = 0
 for dl in dirList:
  if(i_dl == 0):
   i_dl = i_dl + 1
  else:
   # 打印至控制台,不是第一个的目录
   print '-' * (int(dirList[0])), dl
   # 打印目录下的所有文件夹和文件,目录级别+1
   printPath((int(dirList[0]) + 1), path + '/' + dl)
 for fl in fileList:
  # 打印文件
  print '-' * (int(dirList[0])), fl
  # 随便计算一下有多少个文件
  allFileNum = allFileNum + 1
if __name__ == '__main__':
 printPath(1, '/home/test/')
 print '总文件数 =', allFileNum

更多关于Python读取一个目录下所有目录和文件的方法请关注PHP中文网(www.php.cn)其他文章! 

发布手记

热门词条