利用 os.walk() 遍历目录

os.walk:

walk(top, topdown=True, onerror=None, followlinks=False)

参数:

  • top 要遍历的目录地址
  • topdown 为真,则优先遍历top目录,否则优先遍历top的子目录(默认为True)(广度深度)
  • onerror 需要一个 callable 对象,当walk需要异常时,会调用
  • followlinks 如果为真,则会遍历目录下的快捷方式

os.walk 的返回值是一个生成器(generator), 他会不断的遍历所给目录下的所有(子孙)目录(包括它本身)

每次遍历都是返回的是一个三元组(root, dirs, files)

  • root 当前正在遍历的目录地址
  • dirs 由正在遍历目录的子目录组成的 列表
  • files 同样是 列表, 是正在遍历的目录的 文件

遍历目录:

1 import os
2 def tree(top):
3     #path,folder list,file list
4     for path, names, fnames in os.walk(top):
5         for fname in fnames:
6             yield os.path.join(path, fname)
7
8 for name in tree(os.getcwd()):
9     print(name)
时间: 2024-09-30 17:52:20

利用 os.walk() 遍历目录的相关文章

Python 用 os.walk 遍历目录

今天第一次进行 文件遍历,自己递归写的时候还调试了好久,(主要因为分隔符号的问题),后来发现了os.walk方法,就忍不住和大家分享下. 先看下代码: import os for i in os.walk('c:'+os.sep+'ant'):    print i[1] 下面是输出: c:\antc:\ant\binc:\ant\docsc:\ant\docs\ant2c:\ant\docs\antlibsc:\ant\docs\antlibs\antunitc:\ant\docs\antli

python中os.walk()遍历目录中所有文件

之前一直用判断目录和文件的递归方法来获取一个目录下的所有文件,后来发现python里面已经写好了这个函数,不需要自己递归获取了,记录下os.walk()函数的用法 目的:获取path下所有文件,返回由形如"C:\Program Files\Realtek\Audio\HDA\RtkNGUI64.exe"组成的列表[] 方法:os.walk(path) 返回包含(dir,folder,file)三种信息的generator(它具体是什么我也不咋明白),其中file为文件名(RtkNGUI

[py]os.walk爬目录&sys.argv灵活获取参数

1, 遍历目录 os.walk('/tmp') os.next() ? 2,sys.argv ######################################## [email protected]:~/t$ cat t8.py import sys name=sys.argv[1] #获取参数 age=sys.argv[2] ? info=''' name:%s age :%s ''' %(name,age) ? print info print "#"*40 print

python os.walk()遍历

os.walk()遍历 import os p='/bin' #设定一个路径 for i in os.walk(p): #返回一个元组 print (i[0]) #第一个元素是目录 print (i[1]) #第二个元素是文件夹 print (i[2]) #第三全元素是文件 返回一个元组,内有3个元素.第一个是路径.第二个是文件夹.第三个是文件

python【使用简单的os.walk生成目录树】

思路比较简单,使用os.walk 生成目录信息,然后再进行字符串操作,所以没有其他比较复杂的逻辑,但是生成的效果也比较简单,自己看看到是可以哈. 代码如下 # -*- coding: utf-8 -*- ''' Created on July 22, 2017 @author: hehe1234567 ''' import os def simple_dir_tree(ddir): for dirpath,dirnames,filenames in os.walk(ddir.strip(os.s

python中os.walk浏览目录和文件

#!/usr/bin/env python # 2.py # use UTF-8 # Python 3.3.0 # os.walk()的使用 import os # 枚举dirPath目录下的所有文件 def main(): #begin fileDir = "F:" + os.sep + "aaa" # 查找F:\aaa 目录下 for root, dirs, files in os.walk(fileDir): #begin print(root) print(

os.walk 查看目录大小

# 又学到了.. def Test1(rootDir): tmp_lst = [] for root,dirs,file in os.walk(rootDir): for f in file: tmp_lst.append(root+os.sep+f) size = 0 for i in tmp_lst: size += os.stat(i).st_size return size r = Test1('d:\\test') print(r)

python os模块 遍历目录

1 #os 2 #os ->tree命令 3 import os 4 5 6 #递归 7 #目录 ->文件,文件夹 -> 文件文件夹 8 dirpath = input('请输入你要遍历的目录\n') 9 def getdir(dirpath,level = 0): 10 level += 1#递归的深度 11 if not dirpath: 12 dirpath = os.getcwd() 13 14 #默认情况从当前路径开始 15 mylist= os.listdir(dirpath

python os.walk()和os.path.walk()

一.os.walk() 函数声明:os.walk(top,topdown=True,onerror=None) (1)参数top表示需要遍历的顶级目录的路径. (2)参数topdown的默认值是“True”表示首先返回顶级目录下的文件,然后再遍历子目录中的文件.当topdown的值为"False"时,表示先遍历子目录中的文件,然后再返回顶级目录下的文件. (3)参数onerror默认值为"None",表示忽略文件遍历时的错误.如果不为空,则提供一个自定义函数提示错误