使用os.walk()方法

使用os.walk()方法

分类: python 小练习 301人阅读 评论(0) 收藏 举报

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

其中第一个为起始路径,

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

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

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

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

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


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

  1. <SPAN style="FONT-SIZE: 18px">#coding:utf-8   
  2.   
  3. import os  
  4. def main(name,*types):  
  5.     for root,dirs,files in os.walk(name):  
  6.         for f in files:  
  7.             if os.path.isfile(os.path.join(root,f)) and os.path.splitext(f)[1][1:] in types:  
  8.                 print os.path.join(root,f)  
  9.   
  10. if __name__ == '__main__':  
  11.     main(r"D:\\","sql","zip")</SPAN>  
<span style="font-size:18px;">#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")</span>

与线程一起:

  1. <SPAN style="FONT-SIZE: 18px">#coding:utf-8   
  2. import threading  
  3. import os  
  4. import time  
  5. def main(name,*types):  
  6.     for root,dirs,files in os.walk(name):  
  7.         for f in files:  
  8.             if os.path.isfile(os.path.join(root,f)) and os.path.splitext(f)[1][1:] in types:  
  9.                 print os.path.join(root,f)  
  10.   
  11. if __name__ == '__main__':  
  12.   
  13.     t1=time.time()  
  14.     #加入线程,搜索D盘 以.sql、.zip结尾的文件   
  15.     t = threading.Thread(target=main,args=(r"D:\\","sql","zip"))  
  16.     t.start()  
  17.     t.join()  
  18.     #计算执行时间   
  19.     print time.time()-t1</SPAN>  
<span style="font-size:18px;">#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</span>


  1. <SPAN style="FONT-SIZE: 18px"># 使用os.walk()方法输出E盘下的mp3文件   
  2. import os,re  
  3. p = re.compile('.*?\.mp3')  
  4. f = os.walk(r'E:\\')  #遍历E盘   
  5. result = []  
  6. for root,dirs,files in f:  
  7.     for m in files:  
  8.         if p.search(m):  
  9.             print os.path.join(root,m)  
  10.             result.append(os.path.join(root,m))  
  11.   
  12. print len(result)</SPAN>  
<span style="font-size:18px;"># 使用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)</span>


  1. <SPAN style="FONT-SIZE: 18px">#使用os.walk()   
  2. import os  
  3.   
  4. def getfile(path):  
  5.   
  6.     for root,dirs,f in os.walk(path):  
  7.   
  8.         for i in f :  
  9.             if i.split('.')[-1in ('mp3','txt'):  
  10.                   
  11.                 print os.path.join(root,i)  
  12.   
  13. getfile(r"E:\\")</SPAN>  
<span style="font-size:18px;">#使用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:\\")</span>


  1. <SPAN style="FONT-SIZE: 18px"># 使用os.walk()方法输出指定盘符下的mp3文件   
  2.   
  3. import os,re  
  4. p = re.compile('.*?\.mp3')  
  5.   
  6.   
  7. #指定遍历的盘符   
  8. disk = ['C:\\','D:\\','E:\\','G:\\']  
  9.   
  10. result = []  
  11.   
  12. def getmp3(): #定义函数   
  13.     for d in disk:  
  14.         f = os.walk(d)#遍历每个盘符   
  15.   
  16.         for root,dirs,files in f:  
  17.             for m in files:  
  18.                 if p.search(m):  
  19.                     print os.path.join(root,m)  
  20.                     result.append(os.path.join(root,m))  
  21.                     print len(result)  
  22.   
  23.   
  24. getmp3()</SPAN>  
<span style="font-size:18px;"># 使用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()</span>


  1. <SPAN style="FONT-SIZE: 18px">import os  
  2. def getmp3(disk):  
  3.     for root,dirs,files in os.walk(disk):  
  4.         for f in files:  
  5.             if os.path.splitext(f)[1][1:]=='mp3':  
  6.                 print os.path.join(root,f)  
  7.   
  8. if __name__=='__main__':  
  9.     import string  
  10.     for disk in <SPAN style="COLOR: #ff0000">map(lambda x:x+':\\',string.uppercase[2:6]): #变量盘符:C、D、E</SPAN>  
  11.         getmp3(disk)</SPAN>  
<span style="font-size:18px;">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 <span style="color:#ff0000;">map(lambda x:x+':\\',string.uppercase[2:6]): #变量盘符:C、D、E</span>
        getmp3(disk)</span>



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值