Python获取文件夹下的文件和子文件夹2022年4月1日20:31os.walk()该函数的原型是:os.walk(top,topdow n=Ture,onerror=None,followlinks=False)?该函数没有返回值。?参数1.top--根 目录下的每一个文件夹(包含它自己),产生3-元组(dirpath,dirnames,filenames)【文件夹路径,文 件夹名字,文件名】。?2.topdown--可选,为True或者没有指定,一个目录的的3-元组将比它的任何子文件夹的3- 元组先产生(目录自上而下)。如果topdown为False,一个目录的3-元组将比它的任何子文件夹的3-元组后产生(目录自 下而上)。?3.onerror--可选,是一个函数;它调用时有一个参数,一个OSError实例。报告这错误后,继续wa lk,或者抛出exception终止walk。?4.followlinks--设置为true,则通过软链接访问目录。?? ?函数执行之后得到一个三元tupple(dirpath,dirnames,filenams。?dirpath:string,是 当前目录的路径;dirnames:list,是当前路径下所有的子文件夹名字;filenames:list,是当前路径下所有的非 目录子文件的名字。要获取完整的路径,dirnames和filenames是不包含路径信息的,可以使用?#!/usr/bin/pyt hon#--coding:UTF-8--?importosforroot,dirs,filesinos.w alk(".",topdown=False):fornameinfiles:print(os.path.join(ro ot,name))fornameindirs:print(os.path.join(root,name))?#特 定类型的文件时,代码如下:?#--coding:utf-8--?importos?deffile_name(f ile_dir):L=[]fordirpath,dirnames,filenamesinos.walk(file_d ir):forfileinfilenames:ifos.path.splitext(file)[1]== ''.jpg'':L.append(os.path.join(dirpath,file))returnL?? |
|