说明
os.walk() 方法是一个简单易用的文件、目录遍历函数,可以帮助我们高效的处理文件、目录方面的事情。
os.walk() 方法
首先需要导入os模块:import os
os.walk()语法:os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
参数选项
- top 是你所要遍历的目录的地址。
- topdown – 可选参数,设置为True时则目录自上而下遍历。
- onerror – 可选参数,当需要异常时调用。
- followlinks – 设置为True时,则会访问软链接的目录。
返回值
os.walk()函数的返回值是一个三元组(root, dirs, files),分别是:
- root 所指的是当前正在遍历的文件夹的路径;
- dirs 是一个列表,其中元素是root路径下所有的目录(不包括子目录);
- files 是一个列表,其中元素是root路径下所有的文件。
os.walk()的使用方法和用途
我们可以用os.walk()方法做些什么事情呢?以下实例演示了 os.walk()的使用方法和用途:
-
可以用该方法获得一个文件夹下所有子文件夹的大小
#!/usr/bin/python # -*- coding: UTF-8 -*- import os from os.path import join, getsize basepath = "G:\\tempdir" def getdirsize(dir): size = 0 for root, dirs, files in os.walk(dir): size += sum([getsize(join(root, name)) for name in files]) return size if __name__ == '__main__': dirlist = os.listdir(basepath) for name in dirlist: name = os.path.join(basepath, name) size = getdirsize(name) gsize = size / 1024 / 1024 /1024 if gsize > 100: print(name, " : %.3f GB" % gsize)
-
可以用该方法找出某个文件