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