之前一直用判断目录和文件的递归方法来获取一个目录下的所有文件,后来发现python里面已经写好了这个函数,不需要自己递归获取了,记录下os.walk()函数的用法
目的:获取path下所有文件,返回由形如"C:Program FilesRealtekAudioHDARtkNGUI64.exe"组成的列表[]
方法:os.walk(path) 返回包含(dir,folder,file)三种信息的generator(它具体是什么我也不咋明白),其中file为文件名(RtkNGUI64.exe)、dir为file的目录、folder为dir下的目
录,总之对于没一个file,都有对应的dir、folder(多个)与它对应(file是幸运的哈哈),所以循环获取的时候for i in file就可以取到想要的数据了
代码:
1 def getfilelist(rlist,path) 2 for dir,folder,file in os.walk(path): 3 for i in file: 4 t = "%s\%s"%(dir,i) 5 rlist.append(t)
rlist就是结果