os.walk(filedir)

import os
import time
t1=time.time()
for i in os.walk("D:"+os.sep+"pythonInstall"):
    print(i[0])
    print(i[1])
    print(i[2])
print(time.time()-t1)

以上是我测试的例子,
其实os.walk(filedir)这个函数会返回三个对象,依次是:

  1. dirpath(目录路径,它是一个string类型)
  2. dirname(子目录名,它是一个列表,因为在一个目录路径下会有很多很多子目录)
  3. filename(文件名,它也是一个列表,因为同一目录下一班有多个文件)

那么,在这里需要注意的一点是:
-他并不是返回一次,在上面的程序中我使用for来遍历返回的每一个dirpath,这是什么意思呢?
下面我举个例子

  • 就像是tree这种结构,os.walk("D:"+os.sep+"pythonInstall"):它返回的第一个路径是D://pythoninstall,如果把它比作tree的root的话,那么下一次他返回的路径名就是root+从左边数第一个与他有直接关系的孩子节点的子目录,直到遍历所有的路径。
  • 那么他的dirname(子目录名)就是当前dirpath的非文件名的孩子节点,例如,如果当面dirpath是D:\pythonInstall\DLLs
  • 这是
    这些是当前路径里面的,他的dirname就是该路径下的所有路径名构成的列表,显然里面没有路径名,所以返回一个空列表,而filename就是上图中所有文件名构成的列表
import os
import time
t1=time.time()
for i in os.walk(r"D:\pythonInstall\DLLs"):
    print(i[0])
    print(i[1])
    print(i[2])
print(time.time()-t1)

在这里插入图片描述
除此之外,它每次返回的dirpath,如果用tree的结构来形容,就是每次都是从root到叶子节点,一直到底,然后再回来继续返回下一个儿子节点的dirpath

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值