
import os #得到当前目录下所有的文件
def getALLDir(path,sp = ""):
filesList = os.listdir(path) #处理每一个文件
sp += " "
for fileName in filesList:
#判断一个文件是否为目录(用绝对路径) join拼判断接法
fileAbsPath = os.path.join(path,fileName)
if os.path.isdir(fileAbsPath):#临界条件: 如果不是目录 执行else
print(sp + "目录:",fileName)
getALLDir(fileAbsPath,sp)#递归调用 自己调用自己
else:
print(sp + "普通文件:",fileName) getALLDir(r"D:\BaiduNetdiskDownload")#需要遍历的path
一篇笔记
os.listdir方法概述
os.listdir()方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。
它不包括 . 和 .. 即使它在文件夹中。
只支持在 Unix, Windows 下使用。
语法:os.listdir(path)
异常处理:
如果目录下有中文目录,打印时遇到乱码解决方法:
cPath = os.getcwd() # 如果目录名字为中文 需要转码处理
uPath = unicode(cPath,'utf-8')
for fileName in os.listdir(uPath) :
print fileName