深度与广度思想

爬虫中常用的两种思路

深度

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))

猜你喜欢

转载自blog.csdn.net/rookie_is_me/article/details/85014711