深度與廣度思想
阿新 • • 發佈:2018-12-17
爬蟲中常用的兩種思路
深度
import os fpath=r"F:\1" list=[fpath] while len(list)!=0: newpath=list.pop()#一直的往列表末尾裡新增新的元素,新增的新元素就是最底層的檔案或資料夾 if os.path.isfile(newpath): print("檔案:"+newpath) else: print("目錄:"+newpath) for name in os.listdir(newpath):#一個絕對路徑下的新檔案的名稱,加上該絕對路徑 #等於該新檔案的絕對路徑 list.append(os.path.join(newpath,name))
廣度
import collections import os fpath=r"F:\1" list=collections.deque() list.append(fpath) while len(list)!=0: newpath =list.popleft() if os.path.isfile(newpath): print("檔案:"+newpath) else: print("目錄:"+newpath) #將newpath裡面的所有東西,變成絕對路徑,放入list for name in os.listdir(newpath): list.append(os.path.join(newpath,name))