使用os.walk()方法

来源:互联网 发布:cnc数控编程入门教程 编辑:程序博客网 时间:2024/06/13 02:31

递归遍历给定目录下的内容。(路径、路径下的文件夹、路径下的文件)

其中第一个为起始路径,

第二个为起始路径下的文件夹,

第三个是起始路径下的文件.

dirpath是一个string,代表目录的路径,

dirnames是一个list,包含了dirpath下所有子目录的名字,

filenames是一个list包含了非目录文件的名字.这些名字不包含路径信息,如果需要得到全路径,需要使用 os.path.join(dirpath, name).


遍历 D盘sql、zip格式的文件

#coding:utf-8import osdef main(name,*types):    for root,dirs,files in os.walk(name):        for f in files:            if os.path.isfile(os.path.join(root,f)) and os.path.splitext(f)[1][1:] in types:                print os.path.join(root,f)if __name__ == '__main__':    main(r"D:\\","sql","zip")

与线程一起:

#coding:utf-8import threadingimport osimport timedef main(name,*types):    for root,dirs,files in os.walk(name):        for f in files:            if os.path.isfile(os.path.join(root,f)) and os.path.splitext(f)[1][1:] in types:                print os.path.join(root,f)if __name__ == '__main__':    t1=time.time()    #加入线程,搜索D盘 以.sql、.zip结尾的文件    t = threading.Thread(target=main,args=(r"D:\\","sql","zip"))    t.start()    t.join()    #计算执行时间    print time.time()-t1


# 使用os.walk()方法输出E盘下的mp3文件import os,rep = re.compile('.*?\.mp3')f = os.walk(r'E:\\')  #遍历E盘result = []for root,dirs,files in f:    for m in files:        if p.search(m):            print os.path.join(root,m)            result.append(os.path.join(root,m))print len(result)


#使用os.walk()import osdef getfile(path):    for root,dirs,f in os.walk(path):        for i in f :            if i.split('.')[-1] in ('mp3','txt'):                                print os.path.join(root,i)getfile(r"E:\\")


# 使用os.walk()方法输出指定盘符下的mp3文件import os,rep = re.compile('.*?\.mp3')#指定遍历的盘符disk = ['C:\\','D:\\','E:\\','G:\\']result = []def getmp3(): #定义函数    for d in disk:        f = os.walk(d)#遍历每个盘符        for root,dirs,files in f:            for m in files:                if p.search(m):                    print os.path.join(root,m)                    result.append(os.path.join(root,m))                    print len(result)getmp3()


import osdef getmp3(disk):    for root,dirs,files in os.walk(disk):        for f in files:            if os.path.splitext(f)[1][1:]=='mp3':                print os.path.join(root,f)if __name__=='__main__':    import string    for disk in map(lambda x:x+':\\',string.uppercase[2:6]): #变量盘符:C、D、E        getmp3(disk)


原创粉丝点击