使用 Python 遍历目录树的方法


Posted in Python onFebruary 29, 2020

假设有这样一个任务,希望对某个文件夹(包括所有子文件夹与文件)中的所有文件进行处理。这就需要遍历整理目录树, 处理遇到的每个文件。

import os
'''
遍历目录树
'''
for folder_name,sub_folders,filenames in os.walk('F:\\dicts'):
 print('当前文件夹:'+folder_name)
 for sub_folder in sub_folders:
 print('所包含的子文件夹:'+sub_folder)
 for filename in filenames:
 print('文件夹 %s 中所包含的文件:%s' %(folder_name,filename))
 print('')

运行结果:

当前文件夹:F:\dicts
所包含的子文件夹:手机
文件夹 F:\dicts 中所包含的文件:865523a5180df385363cc89ebd0eca6b.apk
文件夹 F:\dicts 中所包含的文件:LDOCE5.mdd
文件夹 F:\dicts 中所包含的文件:LDOCE5.mdx
文件夹 F:\dicts 中所包含的文件:sound_us.mdd
文件夹 F:\dicts 中所包含的文件:奶爸1.6G.zip
文件夹 F:\dicts 中所包含的文件:奶爸1.6GMdict词库的补充.rar
文件夹 F:\dicts 中所包含的文件:新牛津英汉双解大词典.mdx
文件夹 F:\dicts 中所包含的文件:柯林斯双解.mdd
文件夹 F:\dicts 中所包含的文件:柯林斯双解.mdx
文件夹 F:\dicts 中所包含的文件:汉语大词典(简体精排).mdx
文件夹 F:\dicts 中所包含的文件:汉语大词典.mdx
文件夹 F:\dicts 中所包含的文件:美国传统英汉双解学习词典.mdx
文件夹 F:\dicts 中所包含的文件:美国传统词典双解.mdx

当前文件夹:F:\dicts\手机
所包含的子文件夹:dicts

当前文件夹:F:\dicts\手机\dicts
文件夹 F:\dicts\手机\dicts 中所包含的文件:sound_us.mdd
文件夹 F:\dicts\手机\dicts 中所包含的文件:新牛津英汉双解大词典.mdx
文件夹 F:\dicts\手机\dicts 中所包含的文件:汉语大词典.mdx
文件夹 F:\dicts\手机\dicts 中所包含的文件:美国传统英汉双解学习词典.mdx
文件夹 F:\dicts\手机\dicts 中所包含的文件:美国传统词典双解.mdx

os.walk() 函数以一个文件夹路径作为入参。然后我们就可以在一个 for 循环语句中使用 os.walk() 函数,遍历这个文件夹的整个目录树。 os.walk() 在每次循环迭代过程中,会返回 3个值:

  • 当前文件夹的名称,字符串形式 。
  • 当前文件夹中子文件夹名称列表 。
  • 当前文件夹中文件的名称列表。

当前文件夹指的是 for 循环内当前迭代的文件夹。注意: 程序的当前工作目录,不会因为 os.walk() 而改变。

ps:下面给大家介绍下Python os.walk() 函数

函数简介

os.walk() 函数用于在目录树中遍历所有的文件及文件夹。

函数输入输出及使用格式

输入:遍历地址path
输出:正在遍历的地址本身root、该地址下所有目录的名称dirs(list)、该地址下所有文件files(list)
使用格式:
'''
root, dirs, files = os.walk(path)
'''

可调参数

topdown = True or False (True优先遍历上层目录top,False优先遍历底层目录down)
onerror=None (默认None,需要一个调用对象,当 walk 需要异常时,会调用
followlinks = True or False(默认False,如果是True,则会遍历目录下的快捷方式实际所指的目录)

总结

到此这篇关于使用 Python 遍历目录树的方法的文章就介绍到这了,更多相关python 遍历目录树内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
推荐11个实用Python库
Jan 23 Python
Python selenium 三种等待方式解读
Sep 15 Python
插入排序_Python与PHP的实现版(推荐)
May 11 Python
Python实现的快速排序算法详解
Aug 01 Python
Python通过OpenCV的findContours获取轮廓并切割实例
Jan 05 Python
使用Python搭建虚拟环境的配置方法
Feb 28 Python
Python实现找出数组中第2大数字的方法示例
Mar 26 Python
对Python 窗体(tkinter)文本编辑器(Text)详解
Oct 11 Python
python多进程使用及线程池的使用方法代码详解
Oct 24 Python
python队列Queue的详解
May 10 Python
Centos7 下安装最新的python3.8
Oct 28 Python
如何在python中实现随机选择
Nov 02 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
Feb 29 #Python
在python3中实现查找数组中最接近与某值的元素操作
Feb 29 #Python
python pandas移动窗口函数rolling的用法
Feb 29 #Python
基于Python fminunc 的替代方法
Feb 29 #Python
浅谈SciPy中的optimize.minimize实现受限优化问题
Feb 29 #Python
使用python求解二次规划的问题
Feb 29 #Python
Python龙贝格法求积分实例
Feb 29 #Python
You might like
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
laravel7学习之无限级分类的最新实现方法
2020/09/30 PHP
Jquery CheckBox全选方法代码附js checkbox全选反选代码
2010/06/09 Javascript
Javascript保存网页为图片借助于html2canvas库实现
2014/09/05 Javascript
基于 webpack2 实现的多入口项目脚手架详解
2017/06/26 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
2017/07/12 jQuery
最后说说Vue2 SSR 的 Cookies 问题
2018/05/25 Javascript
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
2018/05/31 jQuery
详解Angular中实现自定义组件的双向绑定的两种方法
2018/11/23 Javascript
每天学点Vue源码之vm.$mount挂载函数
2019/03/11 Javascript
微信小程序实现多选框全选与取消全选功能示例
2019/05/14 Javascript
Angular封装表单控件及思想总结
2019/12/11 Javascript
Vue学习之常用指令实例详解
2020/01/06 Javascript
koa2的中间件功能及应用示例
2020/03/05 Javascript
vue使用nprogress加载路由进度条的方法
2020/06/04 Javascript
[03:08]迎霜节狂欢!2018年迎霜节珍藏Ⅰ一览
2018/12/25 DOTA
Python自定义函数的创建、调用和函数的参数详解
2014/03/11 Python
对Python新手编程过程中如何规避一些常见问题的建议
2015/04/01 Python
Python编程产生非均匀随机数的几种方法代码分享
2017/12/13 Python
Python地图绘制实操详解
2019/03/04 Python
Django shell调试models输出的SQL语句方法
2019/08/29 Python
django自定义模板标签过程解析
2019/12/14 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
2020/03/18 Python
Python使用os.listdir和os.walk获取文件路径
2020/05/21 Python
男女钓鱼靴和甲板鞋:XTRATUF
2021/01/09 全球购物
某IT外企面试题-二分法求方程!看看大家的C++功底
2015/07/04 面试题
优秀导游先进事迹材料
2014/01/25 职场文书
料理师求职信
2014/01/30 职场文书
物业品质提升方案
2014/06/08 职场文书
七一建党日演讲稿
2014/09/05 职场文书
2014年助理政工师工作总结
2014/12/19 职场文书
华清池导游词
2015/02/02 职场文书
实习介绍信范文
2015/05/05 职场文书
花田少年史观后感
2015/06/16 职场文书
英文诗歌翻译方法(赏析)
2019/08/16 职场文书
python 使用pandas读取csv文件的方法
2022/12/24 Python