成都創(chuàng)新互聯(lián)公司專注于庫倫企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,成都商城網(wǎng)站開發(fā)。庫倫網(wǎng)站建設(shè)公司,為庫倫等地區(qū)提供建站服務(wù)。全流程按需定制制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
在之前的文章中:https://www.cnblogs.com/leiziv5/p/.html,分享了基于python去遞歸查找文件中的文件。在后續(xù)的接觸中,可以基于深度遍歷和廣度遍歷來實(shí)現(xiàn) 1.深度遍歷實(shí)現(xiàn)
對(duì)應(yīng)實(shí)現(xiàn)思路:
1.創(chuàng)建棧
2.增加路徑
3.當(dāng)棧不為空,處理?xiàng)5囊粋€(gè)路徑
4.遍歷路徑下面的每一項(xiàng)
5.遇到文件夾加入到棧中
6.知道棧中元素為空,退出
import os path = '.' def GetAllDeep(path): stack = [] stack.append(path) # 處理?xiàng)?,?dāng)棧為空時(shí)結(jié)束循環(huán) while len(stack) != 0: # 從棧里取出數(shù)據(jù) DirPath = stack.pop() # 目錄下所有文件 num = 0 file_num = 0 FileList = os.listdir(DirPath) # 循環(huán)處理每個(gè)文件 for FileName in FileList: FileAbsPath = os.path.join(DirPath,FileName) if os.path.isfile(FileAbsPath) == True: print("是文件",FileAbsPath) num += 1 else: # print("是目錄",FileAbsPath) stack.append(FileAbsPath) file_num += 1 print('當(dāng)前文件數(shù)量:%s' % num, '當(dāng)前文件夾數(shù)量%s' % file_num, '路徑是:%s' % (FileAbsPath))