#/usr/bin/env python
#-*- coding: utf-8 -*-
#作者:Yukirito1996
#最后更新日期:2018-7-27 12:54:29
import os
def dfsStack(path):
#首先定义一个空栈(实际上就是一个空列表)
stack = []
#把指定路径path存到栈里
stack.append(path)
while len(stack) > 0:
#把路径path pop 出去
#同时令filePath取到路径的值
filePath = stack.pop()
#把path路径下所有目录名和文件名都存在fileList列表里
#注意此时列表元素不是绝对路径
fileList = os.listdir(filePath)
# print("fileList:", fileList)
for p in fileList:
# 拼接获取绝对路径
#join 的第一个参数是最近一个需要重新遍历的文件路径:filePath
absFilePath = os.path.join(filePath, p)
# print("absFilePath:", absFilePath)
if os.path.isdir(absFilePath):#判断是否是文件夹类型
print("目录:", p)
stack.append(absFilePath)#是目录的话,压栈,然后下次循环继续。
else:
print("文件:", p)#是文件的话,直接打印,就不用继续压栈了。
path = "E:\PYCourse_QF\PythonProject\day08" # 此处可更改为想遍历的绝对路径
dfsStack(path)
执行情况:
原本目录: