运动会的观众席上默默的看着头疼的《黑帽py》.........果然是头疼,本来是一个完整的爆破目标网站的脚本,在我的努力下还是分成遍历目录和访问目标网站两部分吧.......
看下面的一个示例:
#!/usr/share
import os
import Queue #有关队列的模块百度吧......
os.chdir('/root/example') #将工作的目录修改为root目录下的example目录
web_path=Queue.Queue()
filters=['.jpg','.gif','.png','.css'] #创建一个用来过滤文件类型的列表
for r,d,f in os.walk('.'): #r代表的是当前目录下的根目录,输出时是”." ,d代表dirr_name,即目录名,f代表的文件名
for files in f:
remote_path=”%s/%s“ %(r,files) #以”/“格式来表示r和files之间的目录关系,也可以用os.path.join(r,files)来直接表示文件路径
if remote_path.startswith("."): #判断当路径(remote_path)以“.”开头时
remote_path=remote_path[1:] #截取第二个字符至最后,详细看切片章节
if os.path.splitext(files)[1] not in filters: #os.path.splitext()函数分割文件名及后缀名,并返回一个列表(flag.txt分为['flag','txt'])
web_path.put(remote_path) #将选定目录(remote_path)放入队列中,以备调用
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
这里特别说一下for r,d,f in os.wlk('.')这部分,这是对当前目录下所有文件的遍历,d在这里是经过了“树”的模型进行层次遍历,涉及到数据结构的知识老铁也说不清楚啊!