博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python文件遍历二种方法
阅读量:7073 次
发布时间:2019-06-28

本文共 743 字,大约阅读时间需要 2 分钟。

分享下有关文件遍历的两种方法,使用的OS模块的os.walk和os.listdir实现。

关于Python的,大概有两种方法,一种是较为便利的os.walk(),还有一种是利用os.listdir()递归遍历。

方法一:利用os.walk
os.walk可以自顶向下或者自底向上遍历整个文件树,然后返回一个含有3个元素的tuple,(dirpath, dirnames, filenames)。
注意,os.walk()会返回一个generater,所以调用的时候一定要放到for循环中。

import osdef walk_dir(dirname):for root,dirs,files in os.walk(dirname):for f in files:yield os.path.join(root, f)

方法二:利用os.listdir()

这个方法也比较简单,列出目录然后判断是不是文件夹,不是的话直接返回文件路径,( www.jbxue.com)是的话递归调用。

import osdef walk_dir2(dirname):for d in os.listdir(dirname):path = os.path.join(dirname, d)if os.path.isdir(path):#note recursive in for...in...for f in walk_dir2(path):yield felse:yield path

注意,由于函数中使用了yield,所以会被认为是一个generater,递归调用的时候也需要放到for循环中,否则函数并不会被真正执行。

最新的Python 3.3中引入了yield from语法,可以解决上面的问题。

转载地址:http://alzml.baihongyu.com/

你可能感兴趣的文章
【其他】对于本科毕业论文想说一些话
查看>>
调试core文件
查看>>
java中的IO操作总结(三)
查看>>
【JAVA学习笔记】个人设定
查看>>
extern"C"
查看>>
在VC++中实现无标题栏对话框的拖动
查看>>
opengl 教程(9) 顶点属性插值
查看>>
asp.net的session mode的inproc改为StateServer,网站不可以访问
查看>>
【SAS NOTE】where & time
查看>>
图片旋转和翻转
查看>>
定位和可见性
查看>>
c语言中的qsort方法的使用
查看>>
Android notification详解
查看>>
程序线程paip.程序不报错自动退出的解决
查看>>
(转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
查看>>
在Intellij IDEA 12中Tomcat无法调试
查看>>
ExtJs十四(ExtJs Mvc图片管理之四)
查看>>
nullnullHandling Features Not Supported on TV 在电视上处理不支持的功能
查看>>
数据库并发操作
查看>>
PostgreSQL在何处处理 sql查询之十一
查看>>