我最近在学习python,这是做的一个小练习
#利用广度优先搜索方法查找当前目录和子目录下包含指定字符串的文件,打印相对路径
import sys
import os
flag = 0 #是否搜索到标识
path = os.getcwd() #初始化路径
#初始化队列
maxSize = 100
font,tail = 0,0
L = []
for q in os.listdir(path):
L.append(q)
tail = (tail+1)%maxSize
while font != tail:
s = L[font]
font = (font+1)%maxSize
fulldirfile = os.path.join(path,s)
if os.path.isfile(fulldirfile):
if sys.argv[1] in s:
flag = 1
break
else:
path = os.path.join(path,s)
for x in os.listdir(path):
L.append(x)
tail = (tail + 1)%maxSize
if flag == 1:
print('.\%s'%fulldirfile[len(os.getcwd()):])
else:
print('can\'t find')