zoukankan      html  css  js  c++  java
  • 使用os.walk()方法 分类: python 小练习 2013-08-14 10:52 1465人阅读 评论(0) 收藏

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

    其中第一个为起始路径,

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

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

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

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

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


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

    #coding:utf-8
    
    import os
    def 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-8
    import threading
    import os
    import time
    def 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,re
    p = 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 os
    
    def 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,re
    p = 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 os
    def 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)
    
    


    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    MSSQL '20210806'转换成'2021-08-06'
    cxgrid 列内容居中显示
    CXGRID 导出EXCEL
    study PostgreSQL【3-get数据库中all表以及表的字段信息】
    study PostgreSQL【2-FireDAC连接PostgreSQL】
    高格-销售发票勾稽销售出货的赠品处理【14】
    study PostgreSQL【1-PostgreSQL对象】
    高格-负库存导致系统异常的处理【13】
    study Rust-9【组织管理】
    基础资料属性不符合目标组织要求:物料.允许库存,物料.来料检验
  • 原文地址:https://www.cnblogs.com/think1988/p/4628095.html
Copyright © 2011-2022 走看看