#!/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/lizheng') print '總文件數 =', allFileNum
轉載至https://www.cnblogs.com/flyhigh1860/p/3896111.html