Python中文件遍历的两种方法
作者:junjie 时间:2022-01-28 20:34:03
关于Python的文件遍历,大概有两种方法,一种是较为便利的os.walk(),还有一种是利用os.listdir()递归遍历。
方法一:利用os.walk
os.walk可以自顶向下或者自底向上遍历整个文件树,然后返回一个含有3个元素的tuple,(dirpath, dirnames, filenames),要注意的是,os.walk()会返回一个generater,所以调用的时候一定要放到for循环中。
import os
def walk_dir(dirname):
for root,dirs,files in os.walk(dirname):
for f in files:
yield os.path.join(root, f)
方法二:利用os.listdir()
这个方法也比较简单,列出目录然后判断是不是文件夹,不是的话直接返回文件路径,是的话递归调用。
import os
def 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 f
else:
yield path
这里值得一提的是,由于函数中使用了yield,所以会被认为是一个generater,递归调用的时候也需要放到for循环中,否则函数并不会被真正执行。最新的Python 3.3中引入了yield from语法,可以解决上面的问题。
标签:Python,文件遍历
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python获取DLL和EXE文件版本号的方法
2023-09-07 11:43:23
python实现坦克大战游戏 附详细注释
2023-06-26 07:58:13
SQL 判断给定日期值(或时间段)所在星期的星期一和星期天的日期
2011-10-24 20:14:52
ExtJS 开发总结
2009-04-28 13:05:00
![](https://img.aspxhome.com/file/UploadPic/20094/28/extanim64_3-91s.gif)
Django如何使用第三方服务发送电子邮件
2021-08-06 03:49:15
![](https://img.aspxhome.com/file/2023/7/93757_0s.png)
PHP5中使用DOM控制XML实现代码
2023-09-30 09:00:07
一行代码实现Python动态加载依赖
2021-11-22 19:10:39
人工智能学习pyTorch自建数据集及可视化结果实现过程
2022-08-04 14:54:33
![](https://img.aspxhome.com/file/2023/5/75105_0s.png)
初学者学习Python好还是Java好
2021-03-16 21:48:32
在MySQL数据库中如何修改密码及访问限制
2008-11-27 16:36:00
Python实现强制复制粘贴的示例详解
2021-03-30 23:58:43
![](https://img.aspxhome.com/file/2023/6/69036_0s.png)
python多进程读图提取特征存npy
2022-09-05 11:38:06
python实战练习之最新男女颜值打分小系统
2021-06-12 04:56:27
![](https://img.aspxhome.com/file/2023/5/72735_0s.gif)
详解Python中如何写控制台进度条的整理
2023-12-31 03:32:51
![](https://img.aspxhome.com/file/2023/3/89413_0s.png)
在Python中操作列表之list.extend()方法的使用
2023-07-02 20:43:16
在ASP.NET 2.0中操作数据之二十三:基于用户对修改数据进行限制
2023-07-12 08:52:20
![](https://img.aspxhome.com/file/2023/4/75524_0s.png)
HTML5 的五个激动人心的特性
2009-01-02 17:36:00
![](https://img.aspxhome.com/file/UploadPic/20091/2/html5_1-47s.jpg)
Python pyinotify日志监控系统处理日志的方法
2023-12-11 08:57:37
对python中的logger模块全面讲解
2021-01-17 00:49:17
考虑SQL Server安全时所应注意的几个方面
2009-01-04 13:57:00